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