[問題] 關於把function寫進陣列裡面

作者: HenryLiKing (HenryLiKing)   2016-06-02 22:06:33
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual studio 2013
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
我想要把account 裡面的函式放到一個陣列裡面
但是我在Account外面的函式裡面這樣寫
void(*functions[5])(string) = { newAC->setEmail, newAC->setPassword,
newAC->setName, newAC->setAddress, newAC->setPhone };
會出現底下的錯誤
error C2440: 'initializing' : cannot convert from
'overloaded-function' to 'void (__cdecl *)(std::string)'
我一直搞不懂到底錯在哪裡?
拜託各位替我解答了!
錯誤訊息:
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
如果有錯誤或是違規的地方告知後必定立馬改善!
作者: EdisonX (卡卡獸)   2016-06-02 22:08:00
大寫 'E' 修改標題 , 大寫 'T' 修改內文 .先把標題補上。
作者: wtchen (沒有存在感的人)   2016-06-02 22:10:00
請補上標題先
作者: littleshan (我要加入劍道社!)   2016-06-02 22:53:00
member function pointer 不是 function pointer你的需求,要用std::function加上std::bind
作者: james732 (好人超)   2016-06-02 23:16:00
根據樓上的提示:http://ideone.com/7DiiCg大概不是你想要的:http://ideone.com/Bogh7W XD
作者: holydc (のヮの)   2016-06-03 00:52:00

Links booklink

Contact Us: admin [ a t ] ucptt.com