我有一个Regular
班。它具有setValue
方法:
void Regular::setValue(string id, string name, double s, int n = 0)
{
uid = id;
uname = name;
sid = s;
netcount = n;
}
当我运行以下代码时
Regular x;
x.setValue("X01", "John Doe", 1.1);
这给我一个错误
'Regular::setValue': function does not take 3 arguments
默认情况下是否应该设置netcount = 0
的值,因为我没有传入第四个参数?
答案 0 :(得分:0)
此代码段应该可以解决您的问题。仅在声明中,您需要指定为默认参数。
#include <iostream>
#include <string>
using namespace std;
class Regular {
string uid;
string uname;
double sid;
int netcount;
public:
void setValue(string id, string name, double s, int n = 0);
};
void Regular::setValue(string id, string name, double s, int n)
{
uid = id;
uname = name;
sid = s;
netcount = n;
}
int main()
{
Regular x;
x.setValue("X01", "John Doe", 1.1);
return 0;
}