首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从QString*到QString&的转换

从QString*到QString&的转换
EN

Stack Overflow用户
提问于 2013-02-28 19:19:42
回答 1查看 2.3K关注 0票数 2

我对使用指针和引用感到困惑,并且我面临着一个小问题。

我有一个函数:

代码语言:javascript
复制
bool myObject::isFlag( QString &pArgument) const { }

我正在使用它:

代码语言:javascript
复制
QStringList::const_iterator myQStringList.begin();

[...] && !isFlag( QString( *(myVar + 1)))

我收到一个错误,因为

代码语言:javascript
复制
QString( *(myVar + 1)))

它指定没有找到匹配的函数。

不过,我很确定这应该很好。你知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-28 19:28:08

在此呼叫中

代码语言:javascript
复制
isFlag( QString( *(myVar + 1)))

该参数是一个临时QString。您不能将非常数引用绑定到临时变量,您需要更改isFlag以获取常量引用:

代码语言:javascript
复制
bool myObject::isFlag( const QString &pArgument) const { 

如果不能使用const引用,则应该创建一个QString,然后将其传递给函数:

代码语言:javascript
复制
QString qs( *(myVar + 1));
isFlag(qs);

以上所有内容都假设可以从*(myvar +1)构造QString,它也是临时的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15134175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档