もっとテンプレート化された問題... 私は C++ が大好きですが、時々嫌いです。
コンパイラがここで不平を言っている理由と、それに対して何ができるかわかりません。
struct blah
{
template<class t>
blah(void(*)(t), t){}
};
void Func(int i) {}
void Func2(int& i) {}
void test()
{
int i = 3;
blah b(Func, i);
blah b2(Func2, i); //error C2660: 'blah::blah' : function does not take 2 arguments
blah b3(Func2, (int&)i); //error C2660: 'blah::blah' : function does not take 2 arguments
}
ここで何が起こっているのですか?
MSVC2008を使用しています。