Fed*_*dor 5 c++ arrays auto c++20
请考虑这个示例 C++20 程序:
#include <vector>
#include <iostream>
auto make_vector( auto v[2] ) { return std::vector{v[0], v[1]}; }
int main()
{
int x[2] = {1, 2};
auto v = make_vector( x );
std::cout << v[0] << ' ' << v[1] << '\n';
}
Run Code Online (Sandbox Code Playgroud)
GCC 和 Clang 都接受它(https://gcc.godbolt.org/z/jKT7GjMK6)
然而,最新的带有/std:c++latest选项的Visual Studio 2019 16.10.3拒绝了它:
错误 C3318:“auto [2]”:数组不能有包含“auto”的元素类型
是 MSVC 的错误或限制,还是不需要此代码在 C++20 中工作?