Qt方法const变量赋值

引用“http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html”

void
CMainWindow::showMsg(QString &text)
那么,showMsg("test");  // 错误

voidCMainWindow::showMsg(const QString &text)
那么,showMsg("test");  // 正确

【例4】:假设有如下函数声明:
string foo( );
void bar(string & s);
  那么下面的表达式将是非法的:
bar(foo( ));
bar("hello world");
  原因在于foo( )和"hello world"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。

posted on 2013-12-25 10:11  trako  阅读(2679)  评论(0编辑  收藏  举报

导航