
同じ内容の質問をされた方がおり、参考にしてコードを作ったのですが、エラーを吐くため以下教えてください。
<aaa.h>
class bbb{
public:
bbb(); //初期化用関数(コンストラクタ)
static const int ccc[8]; //定義
};
<aaa,cpp>
bbb::bbb(){
const int ccc[8] = {1,2,3,4,5,6,7,8}; //宣言
}
以上のようにコードを書くと、
「外部シンボル"なんちゃら"は未解決です。」
というエラーが出ます。
これは宣言された変数に対して定義がない場合に出るエラーだということはわかりました。
ちなみにconst int型ではなくint型で宣言すると問題なくビルドが通りました。
ヘッダには変数の宣言だけをし、cppファイルでは定義をしている。ここができていればconstが付いていても問題ないと思うのですが、どこが間違っているのでしょうか。
No.1ベストアンサー
- 回答日時:
bbb::bbb(){
const int ccc[8] = {1,2,3,4,5,6,7,8}; //宣言
}
これって、「bbb::bbbメソッド内のローカル変数cccの宣言」です。
bbb::cccの宣言になっていません。
staticなフィールドの定義なら、メソッドと同じレベルに書く必要があります。
bbb::bbb(){
// コンストラクタの内容
}
const int bbb::ccc[8] = {1,2,3,4,5,6,7,8};
> ちなみにconst int型ではなくint型で宣言すると問題なくビルドが通りました。
こちらは再現しません。
手許のclang++では、constの有無では変化しません。
もしかして、 static const int → int (staticもはずしている) ではないですか?
kmeeさん
即時のご回答ありがとうございました。
言われたとおりにすると見事ビルドが通りました。
宣言のところに関してはstaticも外していたようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- JavaScript 条件に該当した時のみ定数を宣言する事はできますか 8 2023/03/15 05:55
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
見た目は同じソースなのにエラ...
-
静的でないメンバ関数の呼び出...
-
VC++でGetKeyboardStateがうま...
-
C++でイベントドリブンなコード...
-
_beginthread()の使用について
-
void **(char や intのアドレ...
-
C で、関数の中から、別の関数...
-
C#でラジオボタンを設定に記録...
-
既定のコンストラクタがありま...
-
Arduinoを使ってMIDI機器のコン...
-
ArduinoでMouse関数を使用して...
-
プログラミング教えてください
-
c言語の問題です。ファイルから...
-
pictureboxの画像を削除するには?
-
リージョンのフレームを描画す...
-
C# Controls.Addで動的に配置し...
-
H8マイコンでC言語で、パルスモ...
-
C# KeyDownイベントでショート...
-
GDI+の使用方法について
-
ソケット通信時のWSACleanup処...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
静的でないメンバ関数の呼び出...
-
【gcc・cygwin】multiple defin...
-
戻り値を返す関数の前に(void)...
-
多重定義が起きている?--lnk20...
-
C++にてtemplateで受け取った任...
-
const_castのつかいどころを教...
-
既定のコンストラクタがありま...
-
C# Controls.Addで動的に配置し...
-
(void)0 はどんな意味ですか
-
C#でラジオボタンを設定に記録...
-
ウインドウの移動禁止
-
Notepad++の関数リスト表示の変...
-
Delphiの定数とローカル変数の...
-
typedef unsigned int UINT;が...
-
int main()、void main()、void...
-
C言語 extern について
-
void*型の配列について
-
VC++でGetKeyboardStateがうま...
-
_beginthreadにて発生するコン...
-
gcc: incompatible pointer type
おすすめ情報