I have written the following class
class worker
{
int action;
int doJob(int type,int time = 0);
public:
int call();
}
And the function doJob is like
int worker::doJob(int type,int time = 0)
{
....code here
}
When i compile ,i am getting the following error
error: the default argument for parameter 1 of 'int worker::doJob(int, int)' has not yet been parsed
Surely it is a problem with default parameter specification..So what is the problem with th e prototype?
You don't need to redefine the default value
int worker::doJob(int type,int time = 0)
can just be
int worker::doJob(int type,int time)
As you do not need to define the argument more than once.
Put the default in the declaration (ie inside class worker
in your example), but not in the definition, eg code simply:
int worker::doJob(int type,int time)
{ /* your code here */ }
int worker::doJob(int type,int time = 0)
给您一个错误,您只应声明一次默认参数。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.