私は常に、関数ポインターにはアンパサンドは必要ないと信じてきました。
それでも、私が見た使用例はすべてboost::bind
1つを示しており、コンパイラーは、ほとんどの状況で、省略されている場合、通常は不可解なエラーメッセージを表示します.
synchronize(boost::bind(&Device::asyncUpdate , this, "ErrorMessage")); // Works
synchronize(boost::bind(Device::asyncUpdate , this, "ErrorMessage")); // Fails
boost::bind
の最初のパラメーターが基本的に関数ポインターであると仮定するのは間違っていますか?