gcc отказывается компилировать на x86_64 конструкции типа reinterpret_cast<int>(some_void_ptr) (говорит "error: cast from 'void*' to 'int' loses precision"). Опытным путём было установлено, что в long он конвертирует нормально. Но: разве разрядность int не должна соответствовать разрядности системы, т. е. в случае i386 быть равной 32 битам и совпадать с long, а в случая x86_64 составлять 64 бита и совпадать с long long и с размером указателя? Почему же gcc тут находит какую-то потерю точности?


Ответ на:
комментарий
от fghj

Ответ на:
комментарий
от Pi
Ответ на:
комментарий
от fghj
Ответ на:
комментарий
от Pi
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.