2014-11-09 1 views
0
void num_chars(vector<string> words) 
{ 
    ifstream fin("textfile.txt"); 
    if (fin.fail()) 
    { 
     error("Could not open file for fin"); 
    } 

    char z = fin.get(); 
    int char_count = 0; 
    while (!fin.eof()) 
    { 
     ++char_count; 
     z = fin.get(); 
    } 
    cout << words[1] << " contains " << char_count << " characters. \n\n"; 
} 

char z가 사용되지 않는 변수 인 이유를 모르겠습니다. while 루프 전에 초기화해야 텍스트 파일의 첫 문자부터 시작하여 다음 문자를 계속 얻을 수 있다고 생각했습니다. 또한 코드 블록의 형식이 잘못 되었으면 올바르게 처리하는 방법을 모르는 경우 미안합니다.g ++ 컴파일러에서 사용되지 않는 변수

+1

게시 한 코드에서 'z'에 저장된 값은 전혀 사용되지 않습니다. –

+0

'words' 벡터의 아이템이 2 개 미만인 경우 발생하는 정의되지 않은 동작도 있습니다. – PaulMcKenzie

+0

캐릭터를 가져 와서 버리기를 원한다면 결과에 아무 것도 지정하지 않고'fin.get()'을하는 것만으로도 완벽하게 유효합니다. – hcs

답변

0

루프 또는 루프에서 변수 z에 값을 할당했지만 값을 사용하지 않았 으면 (인쇄하거나 조작 할 때 사용) 경고가 표시됩니다 그 변수는 사용되지 않는다.

사용되지 않음은 프로그램에서 사용되지 않았거나 값이 할당되지 않았 음을 의미하지 않습니다. 사용되지 않으면 변수가 현재 쓸모가 없다는 의미입니다.