8

我新安装了 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;
}

在监视窗口中,观看 vRing 正常工作,但尝试观看矢量的内容不起作用:

尝试观看 vRings[0]:

错误:报告了多个错误。\ 无法执行 MI 命令:-var-create - * vRings[0] 来自调试器后端的错误消息:找不到运算符 []。\ 无法创建变量对象

尝试观看 vRings.at(0):

vRings.at(0) 错误:报告了多个错误。\ 无法执行 MI 命令:-var-create - * vRings.at(0) 来自调试器后端的错误消息:无法评估函数 - 可能已内联\无法创建可变对象

我能做些什么来解决这个问题?

4

1 回答 1

0

您正在尝试查看函数调用的结果。vRings.at()和都是vRings[]返回对值的引用的函数(后者是重载函数)。在你的情况下 - 一个整数。

如果要查看vRings索引 0 处的值,可以尝试将其分配给某个变量,例如:

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

于 2015-05-05T01:29:23.377 回答