2013-04-23 78 views
-2

我有一類,說鏈接錯誤時爲常量類的成員函數

/* class.h */ 
class myClass { 

public: 
    void member_function(); 
}; 

/* class.cpp */ 

void myClass::member_function() { 
    /* blabla */ 
} 

但是當我做member_functionconst,我得到一個鏈接錯誤:

error: undefined reference to `member_function()' 

我加入constmyClass上的函數聲明以及class.cpp上的函數聲明。我在這裏做錯了什麼?

+6

你能告訴我們一個你如何使函數爲const的例子嗎? – Danny 2013-04-23 16:24:38

+1

你可以顯示實際的代碼,包括const函數嗎? – nvoigt 2013-04-23 16:25:21

+0

也可以給出完整的鏈接錯誤,這將是很好的知道它來自哪個obj文件 – TooTone 2013-04-23 16:26:18

回答

1

的const函數應該是這樣的正確的語法:

/* class.h */ 
class myClass { 

public: 
    void member_function() const; 
}; 

/* class.cpp */ 

void myClass::member_function() const { 
    /* blabla */ 
} 

如果仍然試圖在此之後出現問題,一定有別的東西在代碼回事。