【发布时间】:2011-11-18 19:05:55
【问题描述】:
我有双向链表: http://dl.dropbox.com/u/16185759/list.h
和其他类中的方法:
List<int> get_vertices()
{
Element<Edge*> *curr = edges->head;
List<int> vertices;
int v1, v2;
while (curr != 0)
{
v1 = curr->data->v1;
v2 = curr->data->v2;
if (vertices.has(v1) == false)
{
vertices.insert(v1);
}
if (vertices.has(v2) == false)
{
vertices.insert(v1);
}
curr = curr->next;
}
return vertices;
}
方法没有根据调试调用。
编译器忽略它,将值替换为 false,如果你在最后删除返回 false,那么一切正常。
怎么办? 提前谢谢
【问题讨论】:
-
head变量从何而来,是类方法吗?哦,对不起,我的错误=)
-
也许你的
head实际上是0...? -
欢迎来到 Stack Overflow。请发布完整的、最小的程序来重现您遇到的问题。告诉我们您得到什么输出以及您期望什么。
-
听起来像是 UB 的案例,但在哪里...?
-
你的
data绝对不是浮点数,是吗?
标签: c++ visual-c++ optimization compiler-construction