c++ - 无法在 C++ 中创建结构 vector

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

最佳答案

在 C++03 中,局部类(在函数内部定义的类)不能用作模板参数。该限制在 C++11 中取消,但如果您的编译器不支持此功能,您始终可以将类型定义移到命名空间级别的函数之外。

关于c++ - 无法在 C++ 中创建结构 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11678605/

相关文章:

c++ - 为什么C++使用32位寄存器来存储8位值

c++ - 在 C++ 中为零大小的分配返回唯一地址的基本原理是什么?

c++ - 使用 Structs 作为映射中的键,忽略 == 运算符,误报

c++ - 如何使用结构作为模板编写 union ,同时将该 union 作为元素

c++ - map.find(var) 没有返回正确的值

c++ - const 和非常量方法之间的区别?

C++ - 覆盖/重建整个 std::vector 的最佳实践

python - 变量相互作用的计算(矩阵中向量的点积)

c - *列表和**列表之间的区别

c++ - 在 CMFCToolBar 中为顶级 CMFCToolBarButton 设置图像