Мне дали проект MSVC, который не работал с gcc. Особенно интересна эта ошибка:
void * str;
str = "data"; // error
str = (char*)"data"; // working
Ошибка: Error: invalid conversion from ‘const void*’ to ‘void*’
, поэтому g ++ (gcc 4.x) обрабатывает строку как const void, но как MSVC обрабатывает ее!?
Странный вопрос: есть ли другой способ заставить этот код работать на обоих компиляторах, не отходя от типа void, используя union или * _cast's? (Пожалуйста, ответьте со стандартами, я хочу дать что-нибудь поклонникам MSVC там:))