V203. Explicit type conversion from memsize to double type or vice versa.
Анализатор обнаружил потенциально возможную ошибку, связанную с явным преобразованием memsize типа в 'double' тип или наоборот. Потенциальная ошибка может заключаться в невозможности хранения всего диапазона значений memsize типа в переменных типа 'double'.
Эта ошибка полностью аналогична ошибке V113. Отличие заключается только в том, что используется явное приведение типов, как например, показано ниже:
SIZE_T size = SIZE_MAX;
double tmp = static_cast<double>(size);
size = static_cast<SIZE_T>(tmp); // x86: size == SIZE_T
// x64: size != SIZE_T
Для ознакомления с данным видом ошибок смотри описание ошибки V113.
Дополнительные материалы по данной теме:
- 64-битные уроки. Урок 18. Паттерн 10. Хранение в double целочисленных значений.