2004-12-10 [長年日記]

[C++] constメンバ関数へのポインタはなぜ非constメンバ関数へのポインタに変換でできないのか

struct X {
 void foo() const;
};
void (X::*pfn)() = &X::foo;

これは安全ではないかという話です。今のところ付いている返答はピントのずれたものばっかり。

ついでに、テンプレートパラメータにはfloatやdoubleは使えないなんていうのも新発見でした。こんなのです。

template<float f>
struct X {
};
[]