Здравствуйте, wander, Вы писали:
W>Я б вам посоветовал, во благо в первую очередь тех, кому с вами работать, скачать себе стандарт и почитать на досуге про те моменты, которые вам кажутся "бредом" компилятора. Всего несколько мизерных процентов приходятся на самые настоящие глюки, в том время как большинство проблем возникает по вине самого программиста.
дадада, кто написал, тот и виноват.
Вы не поверите:
bool RunFunc(..., Val &retd=(Val&)Val());
ошибка: invalid cast of an rvalue expression of type ‘MCCVal’ to type ‘MCCVal&’
И я пишу в retd. и не интересно, будет ли оно использоваться или разрушится.
Для чего это было сделано история умалчивает, но за такие дела я смотрю на компилятор как на врага.

Стандарты как минимум ограничивают фантазию.
Не могли бы вы дать пример кода для записи адреса функции в переменную для гцц? я потыкался, но ничего хорошего не получилось.
у студии код выглядит так: void*f=write; или void*f=print. один вариант для всех функций.
Также есть подозрение, что гцц неправильно относится к слову timeout.
virtual int timeout(){ ... return 0; }
ошибка: ‘stdscr’ is not a type
ошибка: expected identifier before ‘)’ token
Ругается на совпадение названия класса и функции??
ошибка: declaration of ‘bool Listen::SendData(char*, unsigned int, fdata&)’
ошибка: changes meaning of ‘SendData’ from ‘class SendData’
А читать стандарт, это как читать книгу про устройство мира, вместо того, чтобы посмотреть, как же оно на самом деле устроено.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?