我想创建一个程序,询问用户一年,一月和一天。它使用一个void函数根据设置标准检查每个值,以根据设定范围执行验证。例如。年份必须> 1970年和< 2020年。
同样的功能也可用于验证月和日范围。
我刚刚开始这一年,但是在将值传递给函数时遇到了麻烦。
source_names
你可以给我一些指导吗?我对此很新。谢谢。
答案 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
完成的。