我对 C++ 并不陌生,我对变量参数传递有一个疑问。正如我在下面的示例代码中提到的(此代码根本不起作用,只是为了让其他人理解我的问题,我将它这样框定),我有两个函数 func,带有 1 个参数和 2 个参数(参数重载)。我正在从 main 调用 func,在此之前我正在检查是否需要调用 2 个参数或 1 个参数。这是问题所在,因为我知道我可以在各自的 if elseif 语句中调用两个函数,但我很想知道我是否可以只使用一个函数来管理。(在下面的代码中,我传递的是字符串而不是 int,正如我之前提到的,这只是为了让其他人理解。
#include<iostream.h>
#include <string>
void func(int, int);
void func(int);
void main()
{
int a, b,in;
cout << "Enter the 2 for 2 arg, 1 for 1 arg\n";
cin << in;
if ( in == 2)
{
string pass = "a,b";
}
elseif ( in == 1)
{
string pass = "a";
}
else
{
return 0;
}
func(pass);
cout<<"In main\n"<<endl;
}
void func(int iNum1)
{
cout<<"In func1 "<<iNum1<<endl;
}
void func(int iNum1, int iNum2)
{
cout<<"In func2 "<<iNum1<<" "<<iNum2<<endl;
}