ファイルから整数を読み取ってbool変数をそれに等しくしようとすると、MSVC++で警告が表示されます。
accessLV[i] = FileRead(file1, i + 1);
(accessLVはboolの配列であり、FileReadは、ファイルからの読み取りに関連する構文を減らすために作成した関数です。これは、ステートメントがforループ内にあるためです)
static_castを使用してみました:
accessLV[i] = static_cast<bool>(FileRead(file1, i + 1));
しかし、それでも警告が表示されます。私はこれをやってみました(正確な用語はわかりません):
accessLV[i] = (bool)FileRead(file1, i + 1));
そして、警告はまだそこにあります。accessLVをintの配列にせずに警告を取り除く方法はありますか?
注意:これが役立つ場合は、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;
}