c++ - C++ 函数中对默认第一个参数的支持历史

标签 c++ function parameters default standards

作为this question重申一下,可以为 C++ 函数中的第一个参数提供默认参数。所以下面

void foo(int a, int b=5); // good 
void foo(int a=5, int b=5); // used to be an error
void foo(int a=5); // used to be an error

但是,我记得在我接受编程教育的早期就知道这是不允许的。这从什么时候开始改变?什么 C++ 标准取消了这个限制?由于我早期的大部分编程都是在 Visual Studio 中进行的,所以也许这甚至不是标准问题,而是特定的编译器限制,如果是这样,您还记得哪些(大约)编译器版本有此限制吗?

最佳答案

你说:

 void foo(int a=5); // used to be an error

从来没有过这样的情况。你记错了。

关于c++ - C++ 函数中对默认第一个参数的支持历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357903/

相关文章:

java - REST 使用 Java 传递参数

windows - 批处理 - CMD.exe/T 参数选项未按预期设置颜色

c++ - IBPP/Firebird 客户端的 VC++ 异常处理在 x86 和 x64 上不同

c++ - swift 3 中是否有等效的 c++ shared_ptr?

c++ - 为什么不能将结构作为值作为模板非类型参数传递?

jquery - 跨文件拆分 jquery 函数?

java - 有没有简单的小程序 url 生成器?

c++ - 在 C++ 中,如何修改运算符以便在同一条语句中连续调用它两次?

c - 这个递归函数如何返回正确答案?

javascript - 如何在两个不同事件的同一 HTML 控件(文本字段)上调用两个不同的 javascript/jquery 函数?