我正在尝试执行以下操作:
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 ++编程。
答案 0 :(得分:5)
在C ++ 03中,本地类(在函数内定义的类)不能用作模板参数。在C ++ 11中解除了这个限制,但是如果你的编译器不支持这个功能,你总是可以在命名空间级别将函数定义移到函数之外。
答案 1 :(得分:3)
在int main()
之外(但之前)定义结构。
答案 2 :(得分:0)
您尚未发布所有代码,但我猜您将struct Code ...
放入主函数中。尝试将它移到main的开头上方。