V203. Explicit type conversion from memsize to double type or vice versa.
This rule belongs to the "Diagnosis of 64-bit errors" group. The rules in this group are no longer developed and may be disabled in the future. If you use these rules, please contact our support team—we will help you find a replacement or suggest an alternative solution.
The analyzer found a possible error related to the explicit conversion of memsize type into 'double' type and vice versa. The possible error may consist in the impossibility to save the whole range of values of memsize type in variables of 'double' type.
This error is completely similar to error V113. The difference is in that the explicit type conversion is used as in a further example:
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
To study this kind of errors see the description of error V113.
Additional materials on this topic:
- 64-bit Lessons. Lesson 18. Pattern 10. Storage of integer values in double.