- 296 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:40:55 ]
- struct T {
typedef void (T::*fn_t)(); void f(); int test(fn_t fn) { do { } while (0); // inline不可にしないと再現しない if (fn == &T::f) { return 1; } return 0; } }; BCB6だと(bcc5.6.4)このコードで落ちるんだが 新しいのだと大丈夫なのかな。 (ifの行を const fn_t cmp = &T::f; if (fn == cmp) { に変えれば落ちない) まあメンバ関数へのポインタを変数と直接比較なんて普通やらんが。 他にも落ちる時があるんだが こっちはどういう状態で再現するのかわからないし そもそもコンパイルエラー時だけなのでなんとかなるんだけど。
|

|