回 帖 发 新 帖 刷新版面

主题:assert

#include <iostream>

#define NDEBUG //关闭调试
#include <cassert>
using namespace std;

int main(void)
{
        assert(0);
        return 0;
}
已经关闭了调试,为何assert还会进行错误检查,输出错误信息!

回复列表 (共5个回复)

沙发

以上代码,如果换做C语言是正常的:
#include <stdio.h>
#define NDEBUG
#include <assert.h>
//using namespace std;

int main(void)
{
        assert(0); //不起作用
        return 0;
}

板凳

代码没问题,看你用什么版本的编译器了

3 楼

你好,bruceteen
我用的是DEVCPP4.2,不知为何我把io的头文件去掉就可以了或者把#define NDEBUG放到第一行

4 楼

你的时间都关注了一些没用的问题

5 楼

最簡單的辦法:進到cassert文件中,看看到底咋回事兒:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册