int foo (int a , int b = 0)
我刚刚读了这段代码。我不明白“= 0”是什么意思?这里的“= 0”是什么意思?
我也想知道为什么int foo (int a = 0, int b)
不能编译。
int foo (int a , int b = 0)
我刚刚读了这段代码。我不明白“= 0”是什么意思?这里的“= 0”是什么意思?
我也想知道为什么int foo (int a = 0, int b)
不能编译。
b为具有0的默认值(例如)的参数所以该函数可以被调用:
foo(3, 4)
与a和b等于3,并且4
或:
foo(5)
与a和b等于5和0
int foo (int a=0, int b)
是错误的,因为默认参数只能出现在末端。想象一下,你有:
int foo (int a = 0, int b, int c = 1)
,并要求它像:
foo(3, 4)
,编译器将不知道你是省略。为了避免这种情况,您不能在非默认参数之前放置默认参数。
它设置的默认值的参数“b”按钮函数foo,使得呼叫foo(345)
相当于呼叫foo(345, 0)