簡體   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