2012-04-23 22 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

相關問題