Как я могу исправить предупреждение 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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