V615. Suspicious explicit conversion from 'float *' type to 'double *' type.
The analyzer has detected an odd pointer type conversion. Among such strange cases are situations when programmers try to cast a float-pointer to a double-pointer or vice versa. The point is that float and double types have different sizes and this type conversion most likely indicates an error.
Consider a simplest example:
float *A; double* B = (double*)(A);
Incompatibility between the sizes of the types being cast causes 'B' to point to a number format incorrect for the double type. Such pointer type conversion errors occur because of misprints or through inattention. For example, it may appear that a different data type or a different pointer should be used in such a code fragment.
This is the correct code:
double *A; double* B = A;
This diagnostic is classified as:
You can look at examples of errors detected by the V615 diagnostic.