以下代码compiles fine with clang 3.5.0, but doesn't compile with 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 compiles this code fine。
哪种编译器是正确的,什么是符合标准的行为?