如何使用 QT 和 C++ 将字符串参数传递给函数
Posted
技术标签:
【中文标题】如何使用 QT 和 C++ 将字符串参数传递给函数【英文标题】:How to pass string arguments to a function using QT and C++ 【发布时间】:2012-04-23 18:47:50 【问题描述】:当我在下面的代码中调用 getCount 函数时,QT 4.7.3 编译器给出了错误。构建错误
将 'cont Person' 作为 'int Person::getCount(const QString&) 的 'this' 参数传递会丢弃限定符
bool Person::IsEligible(const QString& name)
int count = 0;
count = getCount(name);
int Person::getCount(const QString& name)
int k =0
return k;
【问题讨论】:
【参考方案1】:错误不是传递字符串参数的问题,而是你有一个const
人,例如:
const Person p1;
Person p2;
p1.IsEligible("whatever"); //Error
p2.IsEligible("whatever"); //Fine because p2 isn't const
如果IsEligible
可以在const Person
s 上调用,那么您可以说:
bool Person::IsEligible(const QString& name) const
int count = 0;
count = getCount(name);
(并更改您没有显示得太明显的相应声明),但我不能 100% 确定您打算这样做。
【讨论】:
感谢 awoodland,声明是 int getCount(const QString& name)。 bool IsEligible(const QString& name) const 这是一个公共插槽。我会按照你说的改变。以上是关于如何使用 QT 和 C++ 将字符串参数传递给函数的主要内容,如果未能解决你的问题,请参考以下文章