コンパイラ エラー C3550
このコンテキストでは単純な '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