1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #include <boost/static_assert.hpp> template<typename T> std::ostream & operator<<(std::ostream & stream, T* value) { BOOST_STATIC_ASSERT(false); } namespace asdf { void qwerty() { int foo = 5; int * bar = &foo; std::cout << bar << std::endl; } } int main() { asdf::qwerty(); } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Ym9vc3Qvc3RhdGljX2Fzc2VydC5ocHA+Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpzdGQ6Om9zdHJlYW0gJiBvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSAmIHN0cmVhbSwgVCogdmFsdWUpIHsKICAgIEJPT1NUX1NUQVRJQ19BU1NFUlQoZmFsc2UpOwp9CgpuYW1lc3BhY2UgYXNkZiB7CiAgICB2b2lkIHF3ZXJ0eSgpIHsKICAgICAgICBpbnQgZm9vID0gNTsKICAgICAgICBpbnQgKiBiYXIgPSAmZm9vOwoKICAgICAgICBzdGQ6OmNvdXQgPDwgYmFyIDw8IHN0ZDo6ZW5kbDsgICAgICAgIAogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGFzZGY6OnF3ZXJ0eSgpOwp9Cg==
prog.cpp: In function ‘std::ostream& operator<<(std::ostream&, T*)’: prog.cpp:6: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’ prog.cpp:7: warning: no return statement in function returning non-void
-
result: Compilation error (maybe you wish to see an example for C++ 4.7.2)


