VS编译器下 assert(getline(file , line)) 中的 getline 好像没有执行?

来源:7-4 图的算法框架

SunYizhi

2018-08-21

如题:

        按照课程源码在VS2015下运行得到的一直是空白图,后来尝试将 assert(getline(file , line)) 中的 getline 单独拿出作为执行语句后,程序输出了正常结果。

        这是因为 VS 中的 assert 里的 getline 没有执行吗?但是以往的简单表达式越界判断还是报过错的,那是因为没有有效执行吗,就是只是判断了一下,但是并不能对后面语句生效?还是其他的什么原因呀?

//img.mukewang.com/szimg/5b7bcba800010e1403650344.jpg

写回答

1回答

liuyubobobo

2018-08-22

测试一下一句assert(false)看assert语句是否执行了?


目测因为:你在release模式下运行,assert不执行。或者由于你的ide配置,assert没有运行:)

0
2
SunYizhi
嗯,在同样位置添加assert(false)也没执行,改成debug模式后输出了正确结果;不过在之前排序的时候就一直用release调试了,也遇到过assert生效的情况;可能还是某个时候IDE的配置改动了。。。算了,以后debug,release都跑一次就行了 0.0
2018-08-22
共2条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程