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 ...main 函数中。尝试将它移到 main 开头的上方。

于 2012-07-26T21:58:19.277 回答