Ошибка компилятора 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