我是编程和新手的新手。我在阅读一本书时发现了这段代码。我相信它给出了一个如何使用已定义的assert()宏的示例。它不能在代码:: blocks 10.05上编译。我收到了诸如
之类的错误代码:
#include<iostream>
#define DEBUG
#ifndef DEBUG
#define ASSERT(x)
#else
#define ASSERT(x)\
if(!(x))\
{\
cout<<"Error!!Assert"<<#x<<"failed\n";\
cout<<"on line"<<__LINE__<<"\n";\
cout<<"in file"<<__FILE__<<"\n";\
}\
#endif
using namespace std;
int main()
{
int x = 5;
cout<<"\nFirst assert.";
ASSERT(x==5);
cout<<"\nSecond assert.";
ASSERT(x!=5);
cout<<"\nDone."<<endl;
return 0;
}
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:2)
if(!(x))\
{\
cout<<"Error!!Assert"<<#x<<"failed\n";\
cout<<"on line"<<__LINE__<<"\n";\
cout<<"in file"<<__FILE__<<"\n";\
} // no backslash