첫 번째 if 문은 의심스러운 것으로 입력됩니다. 개체는 getCount() 함수를 호출하지만 증가 된 값은 이전 계수가 아니라 0입니다. 함수에서 Count + = Count를 사용하여 시도했습니다.카운터 함수는 이전에 반환 된 값에 따라 빌드되지 않습니다.
int main(){
.........
int displayCount;
while(!inputfile.eof())
{
inputfile.get(letter);
Checker object1;
if (object1.isValid(letter)))
{
displayCount = object1.getCount();
}
}
cout << displayCount;
.
.
.
Checker::Checker() :
m_Valid(false),
count(0)
{
}
int Checker::getCount()
{
if(m_Valid)
{
count ++;
}
return count;
}
필자의 경향은 일단 함수에서 값이 반환되면 그 것이다. 더 이상 이전 값 (이 추측)을 유지하지 않습니다.
[루프에서 'eof()'를 사용하지 마십시오. (http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong). – chris
'm_Valid (false)'그러면'(m_Valid)'가 항상 false를 반환합니까? – billz
Billz, 적용 가능한 경우 true를 반환하는 별도의 함수가 있기 때문에 항상 false를 반환하지는 않습니다. 나는 코드를 밟았으며 예상대로 진술이 진실이면 – user1727433