我想傳遞我的函數repaint()在3個版本中重載的函數指針。我想通過一個不帶任何參數:傳遞一個重載成員函數的函數指針?
void repaint()
我想:
myObject = new Object(&myclass::repaint);
但是編譯器說:「我不知道是哪個版本的選擇」。好。
然後我試圖
myObject = new Object(static_cast<void(*)(void)>(&repaint);
然後我得到了(對不起,壞的翻譯):
- 「無效操作上綁定的成員函數的表達式」
- 「myObject的:: myObject沒有重載函數接受3個參數「
如何正確傳遞它?
1.是否有可能發佈'對象:對象的簽名(...)' 2.似乎你的'static_cast'行中有一個輸入錯誤,''''在';'之前缺少''''? –
[C++重載的方法指針]的可能重複(http://stackoverflow.com/questions/4364599/c-overloaded-method-pointer) – Oktalist