auto是一个参数在一个常规函数GCC 4.9扩展? [英] Is auto as a parameter in a regular function a GCC 4.9 extension?

查看:751
本文介绍了auto是一个参数在一个常规函数GCC 4.9扩展?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

gcc 4.9 allows the following code, but gcc 4.8 and clang 3.5.0 reject it.

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

我得到警告:ISO C ++禁止使用'参数声明为auto在参数声明[-Wpedantic] 在4.9,但在4.8和clang我得到错误:参数声明'auto'

I get warning: ISO C++ forbids use of 'auto' in parameter declaration [-Wpedantic] in 4.9 but in 4.8 and clang I get error: parameter declared 'auto'.

推荐答案

是的,这是一个扩展。它可能被添加到C + + 17作为'概念'建议的一部分,我相信。

Yes, this is an extension. It's likely to be added to C++17 as part of the 'concepts' proposal, I believe.

这篇关于auto是一个参数在一个常规函数GCC 4.9扩展?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆