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