0

静的メンバーを含む foo.h にクラスがあります

class foo {
 public:
  static vector<int> a;
  static void Init() { // Init a }
}

クラス foo をテストするテスト ファイル foo_test.cpp が作成されるまで、すべて正常に動作します。しかし、テスト ファイルでは、静的メンバー a のみが表示されるため、静的メンバー a は表示されません。これを解決するにはどうすればよいですか?

ありがとう

4

2 に答える 2

3

を定義する必要がありaます。cppファイルに次のような行を追加します。

vector<int> foo::a;

編集:質問の編集を反映するようにデータ型を変更しました

于 2012-12-14T02:19:21.217 に答える
0

スコープ外でfoo::Init()を呼び出すと、関数の再宣言エラーが発生します。スコープ内に配置すると、未解決の外部シンボルが表示されます。int foo :: a=0としてのみ初期化できます。

于 2012-12-14T02:39:18.547 に答える