創建通過FUNC按鍵構造一個Foo對象中不工作的論點只是正常工作在這個例子:傳遞函數爲一類
int func(int a) { return a; }
struct Foo {
Foo(int (*func_ptr)(int)) {};
};
Foo bar(func);
但試圖在另一個內部類不創建一個Foo對象:
class ThisIsCrap {
Foo doesntWork(func);
};
如何在類內創建一個Foo對象,就像我可以在類之外一樣?在沒有編譯的位上,錯誤是:「無法解析類型'func'」
在此先感謝。
一旦你意識到'MoreCrap :: noFun' *不是函數*,這是相當明顯的。它是*成員*功能。與函數不同,它不能被調用:'MoreCrap :: noFun(10)'沒有任何意義。成員函數是不同的構造,需要使用更復雜的一組數據,即對象實例和參數。 –
好的,我可以看到,但是ThisIsCrap :: doesntWork呢? –
那個甚至沒有語法意義。這就像'void f(10,int);'。 –