c++ - auto 作为常规函数中的参数是 GCC 4.9 扩展吗?

标签 c++ gcc auto c++14 gcc4.9

gcc 4.9 允许以下代码,但 gcc 4.8 和 clang 3.5.0 拒绝它。

void foo(auto c)
{
    std::cout << c.c_str();
}

我收到 warning: ISO C++ forbids use of 'auto' in parameter declaration [-Wpedantic] in 4.9 但在 4.8 和 clang 我收到 error: parameter declared 'auto'

最佳答案

是的,这是一个扩展。我相信它可能会作为“概念”提案的一部分添加到 C++17。

关于c++ - auto 作为常规函数中的参数是 GCC 4.9 扩展吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463888/

相关文章:

c++ - 堆栈对象 Qt 信号和参数作为引用

c++ - 将通用值从结构复制到变量 C++

c++ - 如何在 64 位 Windows 7 上使用 cygwin 从 C++ 生成 Java VM?

gcc - 如何包含使用 GCC C++ 编译器编译的*项目根*头文件?

c++ - 如何编写一个完美的缩写函数模板?

c++ - 为什么 decltype(auto) 在这里返回一个引用?

c++ - 用逗号分隔值比较两个字符串

c++ - CMake 无法链接 boost 库

C++ 概念 - 要求括号中的概念导致 2 条相互冲突的错误消息

c++ - 为什么在针对类的const成员函数的range-for循环编译中使用此const自动变量?