Я получаю предупреждение в MSVC ++, когда пытаюсь прочитать целое число из файла и сделать его равным переменной типа bool.
accessLV[i] = FileRead(file1, i + 1);
(accessLV - это массив логических значений, FileRead - это функция, которую я сделал для уменьшения синтаксиса, используемого при чтении из файла, i - потому что оператор находится внутри цикла for)
Я пробовал использовать static_cast:
accessLV[i] = static_cast<bool>(FileRead(file1, i + 1));
Но я все равно получаю предупреждение. Я пробовал это делать (не знаю точного термина):
accessLV[i] = (bool)FileRead(file1, i + 1));
И предупреждение все еще присутствует. Есть ли способ избавиться от предупреждения, не превращая accessLV в массив целых чисел?
NB: это синтаксис FileRead, если он помогает:
int FileRead(std::fstream& file, int pos)
{
int data;
file.seekg(file.beg + pos * sizeof(int));
file.read(reinterpret_cast<char*>(&data), sizeof(data));
return data;
}