#c #casting
#c #Кастинг
Вопрос:
Я хочу удалить ошибку «использование приведения в старом стиле». Пожалуйста, обратите внимание, что файл, который я пишу, является двоичным.
Я получил предупреждение
int temp;
fileID.write((char *)amp;temp, 1);
это не работает
fileID.write(static_cast<char *>(amp;temp), 1);
Комментарии:
1. Какой компилятор вы используете? с GCC вы должны быть в состоянии использовать
-Wold-style-cast
. Для Visual Studio, я думаю, вы можете сделать это с помощью инструментов анализатора кода, которые они предоставляют, но я понятия не имею.2. Вам нужно использовать
reinterpret_cast
вместоstatic_cast
, поскольку типы не связаны.3. … и вы знаете, что вы записываете только 1
sizeof int
байт?