C++中缩写函数的状态如何?环顾四周,我在 C++ 概念的工作草案中看到了一些提及。同时,GCC 似乎对类似的代码没有问题
#include <iostream>
auto foo(auto x) {
std::cout << x << std::endl;
}
int main() {
foo(1);
foo(1.2);
}
现在,如果我使用 编译-Wpedantic
,我会收到警告:
g++ -std=c++14 -Wpedantic test08.cpp -o test08
test08.cpp:3:9: warning: ISO C++ forbids use of 'auto' in parameter declaration [-Wpedantic]
auto foo(auto x) {
^
这告诉我缩写函数并不完全符合标准。因此,它们在 C++ 标准和常见 C++ 编译器方面的现状如何?