Как я могу исправить предупреждение int-to-bool в C++?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу исправить предупреждение int-to-bool в C++?

Сообщение Anonymous »

Я получаю предупреждение в MSVC++, когда пытаюсь прочитать целое число из файла и приравнять его к переменной bool.

accessLV = FileRead(file1, i + 1);


(accessLV — это массив логических значений, FileRead — это функция, которую я создал для уменьшения синтаксиса, используемого при чтении из файла, то есть потому, что оператор находится внутри цикла for. )

Я пробовал использовать static_cast:

accessLV = static_cast(FileRead(file1, i + 1));


Но я все равно получаю предупреждение. Я пробовал это сделать (не знаю точного термина):

accessLV = (bool)FileRead(file1, i + 1));


И предупреждение все еще там. Можно ли как-нибудь избавиться от предупреждения, не превращая accessLV в массив целых чисел?

Примечание: это синтаксис FileRead, если это поможет:
int FileRead(std::fstream& file, int pos)
{
int data;
file.seekg(file.beg + pos * sizeof(int));
file.read(reinterpret_cast(&data), sizeof(data));
return data;
}


Подробнее здесь: https://stackoverflow.com/questions/928 ... rning-in-c

Вернуться в «C++»