2012-04-23 6 views
3

以下のコードでgetCount関数を呼び出すと、QT 4.7.3コンパイラがエラーを返します。エラーQTとC++を使用して関数に文字列引数を渡す方法

int型の人」の「この」引数としては「contの人」をパージング構築する::同様にgetCount(のconst 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秒で呼び出し可能であることを意味する

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

IsEligibleなら、あなたは言うことができる:

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

(また、あまりにも明白に示していない対応する宣言を変更します)、私は100%あなたが意図したものではないと思います。

+0

awoodlandありがとうございます、delcarationsはint getCount(const QString&name)です。 bool IsEligible(const QString&name)constはパブリックスロットです。私があなたが言及したように変更されます。 –

+0

@Fred - 良いスポット! – Flexo

関連する問題