通过引用将值传递给void函数

时间:2018-03-28 05:09:55

标签: c++ function void

我想创建一个程序,询问用户一年,一月和一天。它使用一个void函数根据设置标准检查每个值,以根据设定范围执行验证。例如。年份必须> 1970年和< 2020年。

同样的功能也可用于验证月和日范围。

我刚刚开始这一年,但是在将值传递给函数时遇到了麻烦。

source_names
你可以给我一些指导吗?我对此很新。谢谢。

2 个答案:

答案 0 :(得分:1)

声明你需要获得正确的签名。它应该是

void get_data(int, int, int);

请记住,C ++允许重载函数。因此,正确签名非常重要。

答案 1 :(得分:1)

如果您希望input声明的main变量受到get_data(input, criteria_1, criteria_2)的后续调用的影响,则必须使用&符号将相应的变量声明为左值引用(& ),像这样:

void get_data(int &x, int y, int z)

此外,您必须从input删除get_data的声明(它是一个新变量,与main中声明的变量不同)并写入

x = 0;

在功能结束时。致电get_data(input, criteria_1, criteria_2)时,该功能内的x是"硬连线"传入变量input,对x所做的任何分配都是input完成的。