Compilerfehler C3550

In diesem Kontext ist nur ein einfaches "decltype(auto)" zulässig.

Wenn decltype(auto) als Platzhalter für den Rückgabetyp einer Funktion dient, muss dieses allein verwendet werden. Es kann nicht als Teil der Zeigerdeklaration (decltype(auto)*), einer Verweisdeklaration (decltype(auto)&) oder einer anderen Qualifizierung dieser Art verwendet werden.

Beispiel

Im folgenden Beispiel wird C3550 generiert:

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

auto* func4();   // OK

Um den Fehler zu beheben, entfernen Sie alle unzulässigen Qualifizierungen auf decltype(auto). Beispielsweise decltype(auto)* func1() kann sie in auto* func1().

Siehe auch

auto