Я приведу что-то вроде double
к void*
и передам другую функцию. но когда я хочу привести свой void*
к double
, я получил неправильный результат !!! что-то вроде 9.18358-е10.
адрес памяти такой же, как в предыдущей функции, размер void*
и double
одинаков. но результат после кастинга неверный.
Я пытался reinterpret_cast<>
, static_cast<>
, memcpy
, ... но ничего не произошло.
что не так ?? что я должен делать?
Код
void* def_double(double* d){
void* v = d;
return v;
}
void print(void* v){
cout << *((double*) v) << endl;
}
примечание: я использую этот код в бизоне для сохранения своих переменных.