このコンテキストでは単純な 'decltype(auto)' のみが許可されます
注釈
decltype(auto) を関数の戻り値の型のプレースホルダーとして使用する場合は、単独で使用する必要があります。 ポインターの宣言 (decltype(auto)*)、参照の宣言 (decltype(auto)&)、またはその他の修飾の一部として使用することはできません。
例
次の例では C3550 が生成されます。
// C3550.cpp
// compile with: /c
decltype(auto)* func1(); // C3550
decltype(auto)& func2(); // C3550
decltype(auto)&& func3(); // C3550
auto* func4(); // OK
エラーを解決するには、 decltype(auto)のすべての無効な修飾を削除します。 たとえば、 decltype(auto)* func1() を auto* func1()に変換できます。
関連項目
auto