我新安装了Eclipse Juno 32位,并安装了新的MinGW 32位,我的平台是Windows 7 64位。在尝试调试一个简单的程序时,我可以看到非常简单的表达式,但是更复杂的一切都会给我一个错误。有关以下程序中的示例:
int main()
{
vector<int> vRings;
for(int i=0;i<50;i++) {
vRings.push_back(i%5);
}
//std::cout << "result:" << getRingNumber(vRings,vDiscs);
return 0;
}
在观察窗口中,观看vRings正常工作,但尝试观看矢量内容不起作用:
尝试观看vRings [0]:
错误:报告了多个错误。\无法执行MI命令:-var-create - * vRings [0]来自调试器后端的错误消息:找不到 operator []。\无法创建变量对象
尝试观看vRings.at(0):
vRings.at(0)错误:报告了多个错误。\无法执行MI 命令:-var-create - * vRings.at(0)来自调试器的错误消息 结束:无法评估功能 - 可能内联\无法创建 变量对象
我该怎么做才能解决问题?
答案 0 :(得分:0)
您正在尝试观看函数调用的结果。
vRings.at()
和vRings[]
都是函数(后者是重载函数),它返回对值的引用。在你的情况下 - 一个整数。
如果要在索引0处观察vRings
的值,可以尝试在某个时刻将其分配给变量,例如:
int main()
{
vector<int> vRings;
for(int i=0;i<50;i++) {
vRings.push_back(i%5);
}
int watchme = vRings.at(0);
//std::cout << "result:" << getRingNumber(vRings,vDiscs);
return 0;
}
然后您可以观看变量watchme
。