1

私は次のことをしようとしています:

struct Code
{
    GF2X generator;
    vector<GF2X> codeWords;
};

vector<Code> allCodes;

ただし、次のエラーが発生します。

error: template argument for 'template<class _Alloc> class std::allocator' uses local type 'main()::Code'|

これが何を意味するのか、私は完全に迷っています。また、C++ でのプログラミングはこれが初めてです。

4

3 に答える 3

5

C++03 では、ローカル クラス (関数内で定義されたクラス) をテンプレート引数として使用できません。この制限は C++11 で解除されましたが、コンパイラがこの機能をサポートしていない場合は、型定義を名前空間レベルで関数の外にいつでも移動できます。

于 2012-07-26T21:59:20.057 に答える
3

構造体を外側 (ただし前) に定義しますint main()

于 2012-07-26T21:56:06.847 に答える
0

すべてのコードを投稿したわけではありませんがstruct Code ...、メイン関数の中に入れたと思います。メインの開始点の上に移動してみてください。

于 2012-07-26T21:58:19.277 に答える