Здравствуйте, Mr.Delphist, Вы писали:
MD>Здравствуйте, ScorpZ, Вы писали:
MD>Пожалуйста, переформатируйте код, глаза на лоб лезут читать этот дамп
SZ>>А теперь вопрос знатокам С++ — что это было ?
MD>Наугад: скорее всего, обычный для тернарного оператора подводный камень — оба операнда должны иметь одинаковый тип (или приводиться к нему), иначе вывод типа попытается сделать компилятор, а далее уж как повезёт, обычная рулетка type casting.
Я тоже думал в этом направлении.
На мсдн (кстати не знаю как этот код будет компилиться и работать на VC++), по поводу условного оператора, написано следующее —
"If both expressions are of pointer types or if one is a pointer type and the other is a constant expression that evaluates to 0, pointer conversions are performed to convert them to a common type."
Получается, что gcc пытается nullptr привести к указателю на ф-цию, а получается у него это не очень.