#include 
#include 
using namespace std;
int main()
{
int result, sum = 10, divisor=0;
result = sum / divisor;
cout << "Result = " << result << endl;
return 0;
}


위의 코드는 컴파일러가 제수가 0이 되는 에러를 잡지 못한다.
이럴때 assert()를 사용해서 false가 될경우 프로그램이 종료되게 할 수 있다.

#include 
#include 
using namespace std;
int main()
{
int result, sum = 10, divisor=0;
assert(divisor!=0);
result = sum / divisor;
cout << "Result = " << result << endl;
return 0;
}


Output
===================================================================================
t: t.cpp:8: int main(): Assertion `divisor!=0' failed.
Disallowed system call: SYS_kill
===================================================================================

assert() 코드 기능을 사용하고 싶지 않다면 #include 위에
#define NDEBUG 를 넣어주면 된다.


+ Recent posts