松4氏が書いたC++コード。ちょっと変えてあるけど。
class A { public: void f(); }; void A::f() { std::cout << "hello." << std::endl; } int main() { A a = NULL; a->f(); return 0; }
一見 NULL Pointer Exception が発生しそうだが,VC でも GCC でも BCC でも通る。アセンブリレベルで見ると絶対アドレスで関数を呼んでいる。なので仮想関数だったりするとアウト。コンパイラ依存ぽいけど。