0xd34df00d
16.08.2012 13:22 Azoth_primary
Охуительно, оказывается, reinterpet_cast<T> (t), где t типа T, не работает. Очень удобно, чтобы писать обобщенный шаблонный код.
Поэтому вместо простого reinterpet_cast<unsigned long> (QThread::currentThreadId ()) нужно писать хелпер-класс http://codepad.org/KrmfnVeo , с которым потом писать очень читаемые вещи типа
DumbCast<unsigned long, decltype (QThread::currentThreadId ())> () (QThread::currentThreadId ()))
Да, я знаю, что в C++11 это вроде как должно работать, но мой gcc 4.6 все равно ругается:
/home/d34df00d/Programming/leechcraft/src/plugins/lmp/localcollectionstorage.cpp :37:71: error: invalid cast from type ‘Qt::HANDLE {aka long unsigned int}’ to type ‘long unsigned int’
Recommended by:
@pooq: моча съела говно
стоп-стоп-стоп, а почему не работает?
Хороший вопрос. Сообщение об ошибке я показал, код тоже.
оно там натурально тайпдеф в unsigned long?
вот тут уж точно говно так говно
Qt::HANDLE? Да.
а шланг чего говорит?
Шланг ничего не говорит, ибо кути не считают его C++11-compatible, и личкрафты без патчинга кутей не собираются. Патчить мне лень.
ололо, кутэ — говно. прикольную я рифму придумал? ну типа «кутэ» и «говно»? это С++-рэп.
ЧСХ раньше куте вполне дружило со шлангом.
гагага
кстати, плохое название, лол. Нихуя он не Dumb же. CludgyReinterpretCast как минимум.
Будет еще кококабельн^W читабельнее.