gpt4 book ai didi

C++ STL vector 迭代器...但出现运行时错误

转载 作者:行者123 更新时间:2023-11-28 08:29:58 26 4
gpt4 key购买 nike

我正在研究STL并做了win32项目..

但是我陷入了运行时错误..

我尝试调试它但是..

(部分代码)

vector<Vertex> currPoly=polygons.back();
vector<Vertex>::iterator it;


for(it=currPoly.begin();it!=currPoly.end();++it){
vector<Vertex>::iterator p1;
vector<Vertex>::iterator n1;
vector<Vertex>::iterator n2;

if( it==currPoly.begin()){
p1=currPoly.end();
n1=it+1;
n2=it+2;
}else if( it==currPoly.end()-1){
p1=it-1;
n1=it+1;
n2=currPoly.begin();
}else if( it==currPoly.end()){
p1=it-1;
n1=currPoly.begin();
n2=currPoly.begin()+1;
}else{
p1=it-1;
n1=it+1;
n2=it+2;
}
int tmp;
tmp=it->x;
tmp=p1->x;

click查看调试图片

这很奇怪,因为

在观察表中,

n1,p1,已定义但 n2 未定义tmp 也不是..

我找不到问题所在...

请帮忙..

最佳答案

你应该更清楚你的问题是什么......

如果你想知道为什么 n1tmp 的值不能显示在调试器中,我猜那是因为你正在调试一个发布版本(或某种带有优化的版本),并且编译器可能已经在执行流程中“优化掉”了那些变量(它决定不再使用它们或者它们的值可以在其他地方获得)。

尝试调试未优化的构建。

顺便说一下,错误 CXX0017(调试器为这些变量显示的错误)表示“表达式计算器错误”。

关于C++ STL vector 迭代器...但出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com