看板 C_and_CPP 關於我們 聯絡資訊
請問一下各位 下面是小弟的一段程式碼 在g++中可以編譯而且運作一切正常 可是拿到客戶那邊之後用xlc++編譯 在下列的 Execute() 函式中卻出現了問題 卻出現了下列問題 "../ClientSession.h", line 60.28: 1540-0251 (S) The "->*" operator cannot be applied to the undefined class "class ClientSession". 請問這語法該怎麼調整呢 class ClientSession; class SendFileThread : public RbtRunThread { public: typedef void (ClientSession::*MethodName)(short protocol); MethodName m_pMethod; ClientSession* m_instance; short m_protocol; bool IsFinished() {return m_isFinished;} SendFileThread(MethodName pfn , ClientSession* instance, short protocol) { m_pMethod = pfn; m_instance = instance; m_protocol = protocol; m_isFinished = false; } protected: bool m_isFinished; virtual void Execute() { (m_instance->*m_pMethod)(m_protocol); m_isFinished = true; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.71.34
angleevil:可能你只宣告class ClientSession,卻提取m_pMethod吧 03/02 14:31
angleevil:不過不確定就是了! 03/02 14:32
ireullin:那有什麼解法嗎 03/02 15:00
angleevil:include "ClientSession.h" 03/02 15:07