我对使用指针和引用感到困惑,并且我面临着一个小问题。
我有一个函数:
bool myObject::isFlag( QString &pArgument) const { }我正在使用它:
QStringList::const_iterator myQStringList.begin();
[...] && !isFlag( QString( *(myVar + 1)))我收到一个错误,因为
QString( *(myVar + 1)))它指定没有找到匹配的函数。
不过,我很确定这应该很好。你知道问题出在哪里吗?
发布于 2013-02-28 19:28:08
在此呼叫中
isFlag( QString( *(myVar + 1)))该参数是一个临时QString。您不能将非常数引用绑定到临时变量,您需要更改isFlag以获取常量引用:
bool myObject::isFlag( const QString &pArgument) const { 如果不能使用const引用,则应该创建一个QString,然后将其传递给函数:
QString qs( *(myVar + 1));
isFlag(qs);以上所有内容都假设可以从*(myvar +1)构造QString,它也是临时的。
https://stackoverflow.com/questions/15134175
复制相似问题