如何使用QT和C ++将字符串参数传递给函数

时间:2012-04-23 18:47:51

标签: qt

当我在下面的代码中调用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 个答案:

答案 0 :(得分:3)

错误不是传递字符串参数的问题,而是你有一个const人,例如:

const Person p1;
Person p2;
p1.IsEligible("whatever"); //Error   
p2.IsEligible("whatever"); //Fine because p2 isn't const

如果IsEligible可以在const Person上调用,那么您可以说:

bool Person::IsEligible(const QString& name) const
 {
      int count = 0;
      count = getCount(name);
 }

(并改变你没有明显表现出来的相应声明),但我并不是百分之百确定你的目的是什么。