以下代码compiles fine with vc++ 19.00.23506(标记:/Wall /WX /Za
)和 vc ++ 19.10.25109.0 (标记:/Wall /WX /Za /permissive-
,可在{{3 }}),但是http://webcompiler.cloudapp.net(flags:-std=c++11 -Wall -Wextra -Werror -pedantic-errors
)。这是 vc ++ 中的错误,标准是否禁止此类构造?
struct
{
}
foo()
{
return {};
}
int main()
{
}
答案 0 :(得分:4)
MSVC出现错误:
[dcl.fct] / 9 不应在返回或参数类型中定义类型......
答案 1 :(得分:2)
您可以返回匿名类型,但必须在函数内定义它:
auto foo()
{
struct {} s;
return s;
}