static_cast を使用して double* を int* にキャストしようとすると、次のエラーが発生します。
invalid static_cast from type ‘double*’ to type ‘int*’
コードは次のとおりです。
#include <iostream>
int main()
{
double* p = new double(2);
int* r;
r=static_cast<int*>(p);
std::cout << *r << std::endl;
}
double と int の間の変換に問題があることは理解していますが、double* と int* の間の変換に問題があるのはなぜですか?