Пожалуйста, переформатируйте код, глаза на лоб лезут читать этот дамп
SZ>А теперь вопрос знатокам С++ — что это было ?
Наугад: скорее всего, обычный для тернарного оператора подводный камень — оба операнда должны иметь одинаковый тип (или приводиться к нему), иначе вывод типа попытается сделать компилятор, а далее уж как повезёт, обычная рулетка type casting.