auto add(auto a,auto b) { return a + b; }
违反ISO c 14标准?该标准的未来版本是否允许代码编写?
解决方法[Does this] violate the ISO c++14 standard?
是的,您无法在C 14(或C 17)中使用auto声明参数参数.此代码格式错误.
Will future versions of the standard allow code to be written like that?
当前的Concepts TS允许这样做,它通常被称为简洁的函数模板语法.在Concepts中,含义相当于:
template <class T,class U>auto add(T a,U b) { return a + b; }
Concepts部分提议还允许使用概念名称,而不仅仅是auto.关于这是否会成为未来C标准的一部分,这是一个悬而未决的问题.
更新:代码在C 20中有效,并且具有与上面显示的功能模板相同的含义(注意:a和b是独立推导的).
总结以上是内存溢出为你收集整理的使用`auto`作为针对C标准的函数参数?全部内容,希望文章能够帮你解决使用`auto`作为针对C标准的函数参数?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)