Здравствуйте, MikelSV, Вы писали:
MSV>дадада, кто написал, тот и виноват.
MSV>Вы не поверите:
MSV>bool RunFunc(..., Val &retd=(Val&)Val());
MSV>ошибка: invalid cast of an rvalue expression of type ‘MCCVal’ to type ‘MCCVal&’
Поверим.
MSV>Не могли бы вы дать пример кода для записи адреса функции в переменную для гцц? я потыкался, но ничего хорошего не получилось.
MSV>у студии код выглядит так: void*f=write; или void*f=print. один вариант для всех функций.
reinterpret_cast<long>
MSV>Также есть подозрение, что гцц неправильно относится к слову timeout.
MSV>virtual int timeout(){ ... return 0; }
MSV>ошибка: ‘stdscr’ is not a type
MSV>ошибка: expected identifier before ‘)’ token
curses.h:
#define timeout(delay) wtimeout(stdscr,delay)
При чем здесь компилятор? В Windows.h на макрос min не напарывались?
MSV>Ругается на совпадение названия класса и функции??
MSV>ошибка: declaration of ‘bool Listen::SendData(char*, unsigned int, fdata&)’
MSV>ошибка: changes meaning of ‘SendData’ from ‘class SendData’
Код целиком?
MSV>А читать стандарт, это как читать книгу про устройство мира, вместо того, чтобы посмотреть, как же оно на самом деле устроено.
Подозреваю, что если бы вы с таким подходом писали изначально под gcc, а потом перешли на MSVC, вы столкнулись бы с кучей похожих проблем. "На самом деле устроено" оно в каждом компиляторе по-разному. Для этого стандарт и нужен.