gpt4 book ai didi

C++重载函数默认参数

转载 作者:行者123 更新时间:2023-11-30 02:03:15 24 4
gpt4 key购买 nike

我有一个广泛使用的 c++ 库,它包含如下方法:

foo();

我想重载此函数以获得默认参数,例如:

foo(bool verbose=false);

此更改会强制我重新编译使用此功能的每个代码吗?不能在没有参数的情况下调用 foo() 继续工作,因为无参数签名没有改变吗?

顺便说一下 - 我正在使用 gcc

谢谢

最佳答案

does this change force me to recompile every code that uses this function?

是的,编译会失败,因为会有歧义。

您可以像这样重载函数:

foo(bool verbose);

并将 case foo() 视为参数为 false。

这不需要重新编译。你只有两个功能:

foo() { foo(false); } //possibly
foo(bool verbose);

而不是带有默认参数的。

关于C++重载函数默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12160993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com