Эта программа приводит к нежелательному тупику жадности синтаксического анализа:
struct float4x4 {};
class C
{
float4x4 M();
};
float4x4 ::C::M()
{
return float4x4{};
}
:8:1: ошибка: нет члена с именем 'C' в 'float4x4'; вы имели в виду просто 'C'?
float4x4 ::C::M()
^~~~~~~~~~~~~
Что можно «исправить» с помощью возвращаемого типа:
auto ::C::M() -> float4x4
{}
теперь все хорошо.
Я так понимаю, мы не можем полностью указать имя класса при использовании синтаксиса декларатора возвращаемого заголовка?
::
, я полагаю, что другого пути нет. - person Yksisarvinen   schedule 18.11.2019::C
выглядит как обходной путь для какой-то другой проблемы. В противном случае это могло быть простоC
(как предполагает компилятор;) - person rustyx   schedule 18.11.2019