【发布时间】:2014-09-18 18:32:52
【问题描述】:
我正在使用一些容器。参考参考向量有问题,无法正常检测。
error C2039: 'vecMsg' : is not a member of 'std::_Vector_iterator <std::_Vector_val>std::_Simple_types<T2 &>>>'
为什么不能识别成员变量?
vector<T1> vec1;
vector<T2> vec2;
vector<T1>::iterater iVec1;
vector<T2>::iterater iVec2;
vector<T2&>::iterater iInVec;
struct T1
{
public:
vector<T2&> inVec;
}
struct T2
{
public:
vector<std::string> vecMsg;
}
在vec1.inVec中输入一些数据
for(iVec1 = vec1.begin(); iVec1 != vec1.end(); iVec1++)
{
for(iVec2 = vec2.begin(); iVec2 != vec2.end(); iVec2++)
{
// blaa if
iVec1->inVec.push_back(*iVec2);
}
}
在 vec1.inVec 中访问 vecMsg
for(iVec1 = vec1.begin(); iVec1 != vec1.end(); iVec1++)
{
for(iInVec = iVec1->inVec.begin(); iInVec != iVec1->inVec.end(); iInVec++)
{
// Error occurs here.
int nSize = iInVec->vecMsg.size();
}
}
【问题讨论】:
-
引用向量是不可能的。