Неиспользуемая переменная в компиляторе g ++

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, чтобы я мог начать с первого символа в текстовом файле и постоянно получать следующие символы. Также жаль, если форматирование для блоков кода неверно, не знаете, как это сделать правильно.

  • 1
    Из кода, который вы разместили, значение, хранящееся в z , никогда не используется ни для чего.
  • 0
    У вас также есть неопределенное поведение, которое произойдет, если вектор words содержит менее двух элементов.
Показать ещё 1 комментарий
Теги:
gcc-warning

1 ответ

0
Лучший ответ

Вы только назначили значение переменной z, будь то перед циклом или в цикле, но вы не использовали значение (скажем, его печать или использование для любых манипуляций), поэтому предупреждение показывает, что переменная неиспользованными.

Неиспользуемый не означает, что он не используется в программе или ему не присвоено какое-либо значение, неиспользуемое означает, что переменная бесполезна прямо сейчас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню