以下代码可以使用clang 3.5.0编译,但不能使用gcc 4.9.0编译(带有-Wall -Wextra -pedantic-errors
标志和任何-std=c++03
,-std=c++11
和-std=c++14
标志):
struct S
{
S(const float(&)[12])
{
}
};
float v[12];
S f()
{
return v;
}
int main()
{
}
MS VC 2013也 可以很好地编译此代码。
哪个编译器是正确的,什么是符合标准的行为?