fork download
  1. #include <cstdlib>
  2. #include <stdexcept>
  3.  
  4. void f(){return rand()<100?throw std::runtime_error("NULL"):void();}
  5. #define NULL (f(), 0)
  6.  
  7. int* p = NULL;
  8.  
  9. int main() {}
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:5:1: warning: "NULL" redefined
In file included from /usr/include/unistd.h:197,
                 from /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:44,
                 from /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/i686-pc-linux-gnu/bits/gthr.h:132,
                 from /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/ext/atomicity.h:39,
                 from /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/bits/basic_string.h:46,
                 from /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/string:58,
                 from /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/stdexcept:44,
                 from prog.cpp:2:
/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/stddef.h:400:1: warning: this is the location of the previous definition
prog.cpp:7: error: invalid conversion from ‘int’ to ‘int*’
stdout
Standard output is empty