我有一個令人困惑的C++ const成員函數
上一頁碼的語法錯誤:
class A {
public:
void process(const string& str) {};
};
我有
A a;
a.process("abcd");
一切都很好 現在我改變進程成員函數來a const
void process(const string& str) const {};
現在 a.process("abcd");
得到一個關於str是一個常量char [5]的編譯錯誤...
const const添加如何影響語法錯誤。我認爲只有const(在這種情況下)意味着成員變量不會改變?
有關這方面的想法?
請發佈可顯示問題的compilable。如此一來,甚至很難猜測你所看到的,更不用說它是什麼造成的。 –
你正在做的事情與你在這裏告訴的不同,const函數沒有問題:http://ideone.com/0RXZl –
你說你看到「編譯錯誤」....請告訴我們* *編譯器錯誤是什麼,它指的是哪一行。 – abelenky