3

ほとんどの場合、ライブラリが含まれていないか、クラスで関数が正しく定義されていないために UNRESOLVED EXTERNAL SYMBOL が発生することを知っていますが、構造に対して同じエラーが発生します。定義した.hiの1つに.cppと.hというファイルがほとんどありません

extern struct MyDataStruct StructData;

この .h を .cpp ファイルに含めますが、

'struct MyDataStruct StructData' unresolved external symbol

この構造を任意のクラスから定義し、クラス プレフィックスなしでアクセスします。

前もって感謝します。

4

1 に答える 1

5

あなたは実際にそれを唯一の.cppファイルで定義する必要があります。つまり、オブジェクトファイルにスペースを割り当てます。

struct MyDataStruct StructData;

この場合、extern がないことに注意してください。

他のすべてのコードは、 extern を保持するヘッダーの宣言を介してアクセスしますが、これは、実行可能ファイルのどこかに参照を解決するものがあることをコンパイラとリンカーに伝えます。

于 2012-07-18T22:57:18.940 に答える