Про строковый литерал: да, cпасибо. Я потом нашел это место в стандарте (2.13.4.1):
An ordinary string literal has type “array of n const char” and static storage duration, where n is the size of the string
На лекции был затронут еще один интересный вопрос, отчасти связанный с этим: что первично в декларации – префикс или постфикс? Я предполагал, что постфикс, основываясь на известном эмпирическом правиле – go right, then go left Оно задаёт простой алгоритм понимания достаточно сложных объявлений, вроде «функция, которая возвращает указатель на массив из десяти функций, которые возвращают int» Но на лекции утверждалось, что первичен префикс. И тоже была некоторая логика, которую я вроде бы сначала уловил, но сейчас уже воспроизвести не смогу.
P.S. Правило go right, then go left подробно описано, например, тут:
http://www.codeproject.com/cpp/complex_declarations.asp
P.P.S. Про вопрос об ошибке компиляции: так ведь нет в классе функции с похожей сигнатурой – в том-то и дело. Похоже что и вправду темна вода в облацех. Впрочем, вопрос был исключительно теоретический, и в стремлении побить меня костылём Вы были правы :)