Condividi tramite


Errore del compilatore C3550

in questo contesto sono consentiti solo valori 'decltype(auto)' normali

Se decltype(auto) viene usato come segnaposto per il tipo restituito di una funzione, deve essere usato da solo. Non può essere usato come parte di una dichiarazione di puntatore (decltype(auto)*), di una dichiarazione di riferimento (decltype(auto)&) di qualsiasi altra qualifica simile.

Esempio

L'esempio seguente genera l'errore C3550:

// C3550.cpp
// compile with: /c
decltype(auto)* func1();   // C3550
decltype(auto)& func2();   // C3550
decltype(auto)&& func3();   // C3550

auto* func4();   // OK

Per risolvere l'errore, rimuovere tutte le qualificazioni non valide in decltype(auto). Ad esempio, decltype(auto)* func1() può essere trasformato in auto* func1().

Vedi anche

auto