繁体   English   中英

从QString *转换为QString&

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM