Erreur du compilateur C3550

'decltype(auto)' simple est le seul autorisé dans ce contexte

Si decltype(auto) est utilisé comme espace réservé pour le type de retour d'une fonction, il doit être utilisé par lui-même. Il ne peut pas être utilisé dans le cadre d'une déclaration de pointeur (decltype(auto)*), d'une déclaration de référence (decltype(auto)&) ni de toute autre qualification de ce genre.

Exemple

L’exemple suivant génère l’erreur C3550 :

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

auto* func4();   // OK

Pour résoudre l’erreur, supprimez toute qualification illégale sur decltype(auto). Par exemple, decltype(auto)* func1() peut être transformé en auto* func1().

Voir aussi

auto