Здравствуйте, ArtDenis, Вы писали:
AD>Код опасный. Лучше делать так:
AD>AD>int a;
AD>double b;
AD>typedef boost::variant<int, double> IntOrDouble;
AD>void cr(IntOrDouble &value)
AD>{
AD> value = a;
AD> value = b;
AD>}
AD>
Таки да.
AD>Ну если уж совсем сильно хочется, то вот:
AD>AD>int a;
AD>double b;
AD>void cr(char *adr)
AD>{
AD> *reinterpret_cast<int*>(adr) = a;
AD> *reinterpret_cast<double*>(adr) = b;
AD>}
AD>
Только если там с выравниванием всё в порядке. По-хорошему бы иметь гарантию, что adr когда-то был указателем именно на int или double.