C++ 在VS2010错误值中调试cpp
我遇到了一个调试问题,我无法理解这种情况。所附图片是快照C++ 在VS2010错误值中调试cpp,c++,visual-studio-2010,C++,Visual Studio 2010,我遇到了一个调试问题,我无法理解这种情况。所附图片是快照pos是整数向量。我不明白为什么我不能 pos[k]-pos[j] 在调试窗口中正确显示。不过,应用程序运行良好,输出正确。我想知道这是否是由于某些IDE配置造成的。欢迎提出任何意见 根据您使用的标准库的版本,在“监视”窗口中查找vector的成员,并使用它们而不是运算符[]。例如,对于VS2013,这在监视窗口中起作用: pos._Myfirst[ j ] - pos._Myfirst[ k ] 由于_Myfirst是指向向量存储的指针
pos
是整数向量。我不明白为什么我不能
pos[k]-pos[j]
在调试窗口中正确显示。不过,应用程序运行良好,输出正确。我想知道这是否是由于某些IDE配置造成的。欢迎提出任何意见
根据您使用的标准库的版本,在“监视”窗口中查找vector的成员,并使用它们而不是运算符[]。例如,对于VS2013,这在监视窗口中起作用:
pos._Myfirst[ j ] - pos._Myfirst[ k ]
由于_Myfirst是指向向量存储的指针它看起来像一个IDE解析错误,请尝试在
减号
字符周围添加空格,这有帮助吗?@JoachimPileborg屏幕截图显示,pos
被定义为:std::vector
还是我错了?@kolenda添加空格没有help@STNYU问题在于向量的运算符[]
是一个函数。您所做的基本上与尝试通过调试器调用成员函数没有什么不同。尝试这样做总是VS调试器的一个问题。@STNYU-这不是一个bug,只是调试器的一个缺点。AFAIK调试器无法执行函数调用。也许最新版本已经改变了这一点,但是自从VC++1.0以来,函数调用执行“动态”从未实现过。