看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《kuro44776 (羽嵐)》之銘言: class CClientSocket : public CSocket { private: char pClientIP[16]; u_short clientPort; public: CClientSocket(CServerDlg *pServDlg); virtual ~CClientSocket(); void setSourse(char *ip,u_short port); char* getIP(); u_short getPort(); }; void CClientSocket::setSourse(char *ip,u_short port) { strcpy(pClientIP, ip); clientPort=port; } char* CClientSocket::getIP() { return pClientIP; // 不用加 * } 不敢說這樣的寫法就是您想要的答案 但我想這樣改一下應該會比較合理 您對於 char * 與 char 似乎沒有分得很清楚 另一個選擇是全面改用 std::string 也會比較省事 XD 對了,您原文的 *pClientSocket->setSourse(*pClientIP,clientPort); 似乎應該要改成 pClientSocket->setSourse(pClientIP,clientPort); 才對 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.171.46
kuro44776:雖然compile還是不會過 不過還是要說一下謝謝 06/13 23:56
kuro44776:因為socket的部分語法的關係 所以沒辦法用string =.= 06/13 23:56
james732:其實那不是問題 string隨時可用 c_str() 轉成 char * 06/13 23:57
loveme00835:你想要 string 回傳 const char* 也是可以的呀~ 06/13 23:57
※ 編輯: james732 來自: 140.117.171.46 (06/14 00:01)