使用decltype(自动)时,Visual C++ 2015会发出C4552警告

5 c++ visual-c++

我想我在Visual C++ 2015中遇到过一个错误,但我想确定.请考虑以下代码段:

template < typename T >
decltype( auto ) f( T param )
{
    return param + 1;
}

int main()
{
    auto i = f( 10 );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Visual C++ 2015在return语句中给出了这个警告:

警告C4552:'+':运算符无效; 预期的操作员有副作用

虽然它似乎对结果代码没有任何影响.这是编译器错误吗?