错误 C2036:'Agent *const ':类中的大小未知'vector'
error C2036: 'Agent *const ' : unknown size in 'vector' class
我得到一个错误发生在vector
类,如在,你访问的类当你#include < vector >
如果它只有一次,我不知道为什么会发生:
错误C2036:
'Agent *const '
: unknown size
这也发生在vector中,有错误的代码在这里:
size_type size() const
{ // return length of sequence
return (this->_Mylast - this->_Myfirst); // error on this line
}
这意味着此时还不完全知道Agent
类型。您可能只是向前声明了它,但此时没有可见的定义。
以下代码段显示此错误:
#include <vector>
class Agent;
static int getSize(std::vector< Agent > const& v) {
return v.size();
}
您需要的是在使用std::vector< Agent >
之前包含定义Agent
类的文件。该文件可能命名为Agent.h
。
出现错误的原因是,在您指出的代码行中,编译器试图计算两个Agent const*
之间的差异。这大致等于转换为char const*
的指针的差值除以sizeof(Agent)
。但是,如果类型没有完全定义,则无法知道此大小。
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中用vector填充一个简单的动态数组
- vector.resize()中的分配错误
- 使用std::vector的OpenCL矩阵乘法
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 继承期间显示未知行为的子类
- 在某些循环内使用vector.push_back时出现分段错误
- 当vector是tje全局变量时,c++中vector的内存管理
- std::vector的包装器,使数组的结构看起来像结构的数组
- 输入中的字符串数未知(以字母表示)
- 为什么(-1)%vector::size()总是返回0
- "vector"的存储大小未知
- 我们可以在 c++ 中使用 vector 来获取未知大小的用户输入,直到我们按回车键
- 当使用 std::vector::p ush_back 插入未知数量的元素时,是否应该在每次推送时检查 std::vec
- std::vector 如何支持未知大小的自定义对象的连续内存
- 形成算法时未知的"vector"和"std"
- std::vector::reserve(未知m),我知道m<<;N(通常)并且知道N
- 填充未知大小的 std::vector 的最快方法
- 错误 C2036:'Agent *const ':类中的大小未知'vector'
- 将未知数量的后跟双精度数的字符串读入vector