-2

我是否完全错过了一些东西。我们怎样才能简单地将值放在函数的定义行中。如果是这样,如果我们已经预定义了传递值,那么传递值的意义何在。像这样的东西:

node( unsigned char c = 0, int i = 0)

奇怪的是这段代码运行,并正确执行。(视觉工作室 2010)。

它与 const 函数有关吗?但是没有提到 const 。

或类似的东西:

void traverse(string code="") const

但早期的定义不是 const'd。

4

1 回答 1

2

节点(无符号字符 c = 0,int i = 0)

这些是默认参数。这意味着您可以编写node()一些代码体而不是node(0,0)node('x')而不是node('x',0). 没有什么可以阻止您使用node('x', 2). 在这种情况下,node将接收'x'and2作为 and 的ci

于 2012-06-29T15:15:47.293 回答