2012-04-23 2 views
3

아래 코드에서 getCount 함수를 호출하면 QT 4.7.3이 오류를 제공합니다. 오류QT 및 C++을 사용하여 함수에 문자열 인수를 전달하는 방법

INT 사람 '의'이 '인수로'계속 사람을 '파징 구축 :: 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) public 슬롯 인 const. 내가 언급 한대로 변할 것이다. –

+0

@Fred - 좋은 장소! – Flexo

관련 문제