Questo programma si traduce in un vicolo cieco di analisi avidità indesiderato:
struct float4x4 {};
class C
{
float4x4 M();
};
float4x4 ::C::M()
{
return float4x4{};
}
: 8: 1: errore: nessun membro denominato "C" in "float4x4"; intendevi semplicemente "C"?
float4x4 :: C :: M ()
^ ~~~~~~~~~~~
Che può essere 'riparato' usando il tipo di ritorno finale:
auto ::C::M() -> float4x4
{}
ora tutto bene.
Quindi presumo che non possiamo qualificare completamente il nome della classe quando si utilizza la sintassi del dichiaratore di tipo intestazione-ritorno?
::C
parte sembra una soluzione alternativa per qualche altro problema. Altrimenti avrebbe potuto essere semplicemente C
(come suggerisce il compilatore;)
::
, suppongo che non ci sia altro modo.