#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 를 넣어주면 된다.