Re[2]: Условный оператор, чай баг - мой или gcc ?
От: ScorpZ Украина  
Дата: 28.05.13 10:48
Оценка:
Здравствуйте, 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 привести к указателю на ф-цию, а получается у него это не очень.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.