Erro do Compilador C3550
somente 'decltype(auto)' simples é permitido neste contexto
Se decltype(auto)
for usado como um espaço reservado para o tipo de retorno de uma função, ele deverá ser usado por si só. Ele não pode ser usado como parte de uma declaração de ponteiro (decltype(auto)*
), uma declaração de referência (decltype(auto)&
) ou qualquer outra qualificação desse tipo.
Exemplo
O exemplo a seguir gera C3550:
// C3550.cpp
// compile with: /c
decltype(auto)* func1(); // C3550
decltype(auto)& func2(); // C3550
decltype(auto)&& func3(); // C3550
auto* func4(); // OK
Para resolver o erro, remova todas as qualificações ilegais no decltype(auto)
. Por exemplo, decltype(auto)* func1()
pode ser transformado em auto* func1()
.
Confira também
auto