无法在C++中创建结构的向量

Teo*_*tus 1 c++ struct vector

我正在尝试执行以下操作:

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

vector<Code> allCodes;
Run Code Online (Sandbox Code Playgroud)

但是,我最终得到了这个错误:

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

我完全迷失了这意味着什么.这也是我第一次用C++编程.

Dav*_*eas 5

在C++ 03中,本地类(在函数内定义的类)不能用作模板参数.在C++ 11中解除了这个限制,但如果你的编译器不支持这个功能,你总是可以在命名空间级别将函数定义移到函数之外.