[英]Conversion from QString* to QString&
我对使用指针和引用感到困惑,并且遇到了一个小问题。
我有一个功能:
bool myObject::isFlag( QString &pArgument) const { }
我在使用它:
QStringList::const_iterator myQStringList.begin();
[...] && !isFlag( QString( *(myVar + 1)))
我有一个错误
QString( *(myVar + 1)))
它指定未找到匹配功能。
但是我很确定这应该很好...您是否偶然知道可能是问题所在?
在这次通话中
isFlag( QString( *(myVar + 1)))
参数是一个临时QString
。 您不能将非常量引用绑定到临时对象,您需要更改isFlag
以获取常量引用:
bool myObject::isFlag( const QString &pArgument) const {
如果不能使用const
引用,则应创建QString
,然后将其传递给函数:
QString qs( *(myVar + 1));
isFlag(qs);
以上所有假定QString
可以由*(myvar +1)
构造,这又是一个临时的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.