我在vector课堂上发生了一个错误,就像你在上课时所访问的课程一样#include < vector >
我只得到一次,我不知道它为什么会发生:
错误C2036
'Agent *const '::未知大小
这也发生在vector中,有错误的代码在这里:
size_type size() const
{ // return length of sequence
return (this->_Mylast - this->_Myfirst); // error on this line
}
Run Code Online (Sandbox Code Playgroud)
Syl*_*sne 17
这意味着此时类型Agent尚不完全清楚.您可能只是向前声明了它,但此时没有可见的定义.
以下代码显示此错误:
#include <vector>
class Agent;
static int getSize(std::vector< Agent > const& v) {
return v.size();
}
Run Code Online (Sandbox Code Playgroud)
您需要的是Agent在使用之前包含定义类的文件std::vector< Agent >.该文件可能已命名Agent.h.
出错的原因是因为在您指向的代码行中,编译器尝试计算两者之间的差异Agent const*.这大致等于指定为char const*除以的指针的差异sizeof(Agent).但是,如果类型未完全定义,则不知道此大小.
| 归档时间: |
|
| 查看次数: |
4233 次 |
| 最近记录: |