我已閱讀關於這個同樣的問題,其他線程,但我仍然不知道爲什麼我收到以下錯誤:undefinded reference to
並列出在外部類中的每個方法。C++嵌套類是生產未定義的引用外部類
class ClientConnection
{
public:
class Connector
{
public:
Connector(ClientConnection&);
~Connector();
void Connect(unsigned int usleep);
void Stop();
bool isConnected();
private:
void attempt();
ClientConnection& m_client;
unsigned int m_usleep;
bool m_stopRequest;
bool m_isBusy;
boost::shared_ptr<boost::thread> m_thread;
};
Connector* Connector();
bool connect();
bool isConnected();
private:
friend class Connector;
};
我有一個外部類的引用。 Connector方法通知Connector對象並將它傳遞給它自己。但在任何地方,我可以獲得undefined reference to ClientConnection::connect
和undefined reference to ClientConnection::isConnected
。
我完全卡住了。
而且 - 當我用連接器()來新興起來的一個對象,ClientConnection::Connector* connector = client.Connector();
其中客戶端是ClientConnection的實體對象,我得到invalid use of non-static member function ‘ClientConnection::Connector* ClientConnection::Connector()’
哪裏是'布爾isConnected();'執行? –
您應該發佈ClientConnection的構造函數。 – jlunavtgrad