The following code compiles with gcc but does not compile with MSVC (Godbolt link)
#include <array>
extern "C" std::array<float,3> foo()
{
return std::array<float,3>{1,2,3};
}
Is one of the compilers is right and the other is wrong, or, is it implementation-defined ?