主题:assert
aiby
[专家分:15340] 发布于 2010-10-09 07:33:00
#include <iostream>
#define NDEBUG //关闭调试
#include <cassert>
using namespace std;
int main(void)
{
assert(0);
return 0;
}
已经关闭了调试,为何assert还会进行错误检查,输出错误信息!
回复列表 (共5个回复)
沙发
aiby [专家分:15340] 发布于 2010-10-09 07:34:00
以上代码,如果换做C语言是正常的:
#include <stdio.h>
#define NDEBUG
#include <assert.h>
//using namespace std;
int main(void)
{
assert(0); //不起作用
return 0;
}
板凳
bruceteen [专家分:42660] 发布于 2010-10-09 12:08:00
代码没问题,看你用什么版本的编译器了
3 楼
aiby [专家分:15340] 发布于 2010-10-09 20:54:00
你好,bruceteen
我用的是DEVCPP4.2,不知为何我把io的头文件去掉就可以了或者把#define NDEBUG放到第一行
4 楼
shujujiegou01 [专家分:1070] 发布于 2010-10-09 21:13:00
你的时间都关注了一些没用的问题
5 楼
cgl_lgs [专家分:21040] 发布于 2010-10-10 00:05:00
最簡單的辦法:進到cassert文件中,看看到底咋回事兒:)
我来回复