2012-04-23 23 views
3

当我打电话getCount将函数下面的代码,QT 4.7.3编译器给该错误的功能。生成错误如何通过字符串参数使用QT和C++

考取“续人”作为“这个”的“诠释人的说法:: getCount将(常量QString的&)丢弃预选赛

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

int Person::getCount(const QString& name) 
{ 
    int k =0 
    return k; 
} 

回答

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); 
} 

(并且改变您还没有显示太明显了相应的声明),但我不是100%肯定这就是你打算做。

+0

由于awoodland,delcarations是INT getCount将(常量的QString&名称)。布尔IsEligible(const QString&name)const是一个公共时隙。我会改变你所说的。 – 2012-04-23 18:58:09

+0

@Fred - 好点! – Flexo 2012-04-23 19:04:01

相关问题