gpt4 book ai didi

c++ - C++中的默认参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:47 24 4
gpt4 key购买 nike

考虑以下几点:

int foo(int x , int z = 0);
int foo(int x, int y , int z = 0);

如果我这样调用这个函数:

foo( 1 , 2);

编译器如何知道使用哪一个?

最佳答案

它不会,因此这个例子不会干净地编译,它会给你一个编译错误。
它会给你一个模糊的函数调用错误。

Online Sample:

int foo(int x , int z = 0){return 0;} 
int foo(int x, int y , int z = 0){return 10;}

int main()
{
foo( 1 , 2);
return 0;
}

输出:

prog.cpp: In function ‘int main()’:
prog.cpp:6: error: call of overloaded ‘foo(int, int)’ is ambiguous
prog.cpp:1: note: candidates are: int foo(int, int)
prog.cpp:2: note: int foo(int, int, int)

关于c++ - C++中的默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9973859/

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