Всё просто. Потому что строки, начинающиеся с "??", трактуются как
триграфы.
Цитата(Steklova Olga @ 17.9.2015, 13:36)
Нет, компилятор выдает ошибку.
Значит или данная комбинация не является валидным триграфом (после "??" должен идти конкретный символ, какой конкретно -- в википедию), или у компилятора выключена поддержка триграфов, или компилятор вообще триграфы не умеет.
Цитата(Steklova Olga @ 17.9.2015, 13:36)
Но QtCreator-то подсвечивает такие строки зачем-то.
А QtCreator получается в курсе насчёт триграфов и именно строки с ними и подсвечивает.
Цитата(ViGOur @ 16.9.2015, 18:00)
Начнем с того, имеет ли такая строка смысл с позиции С\С++?
Имеет. Во всяком случае пока что имеет. Правда уже не во всех компиляторах. А в будущем вообще собираются убрать поддержку этого безобразия, пришедшего из лохматых годов.