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

时间:2012-07-26 21:54:12

标签: c++ vector struct

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

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 ++编程。

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

int main()之外(但之前)定义结构。

答案 2 :(得分:0)

您尚未发布所有代码,但我猜您将struct Code ...放入主函数中。尝试将它移到main的开头上方。