作为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/