我有一个令人困惑的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