在我的“.h”文件中,我定义了:
example(CQueue* queue = NULL, double code = 0);
在我的“.cpp”文件的两种不同方法中,我必须使用:
example(queue);
example(code2);
我在这两种情况下都会出错。我不想重载。正在定义它:
example(CQueue* queue, double code = 0);
唯一的办法?或者我可以按照当前定义的方式定义它吗?
最佳答案
您可以这样定义它,但不要指望第二次调用会起作用。第一个应该没问题,前提是 queue
是 CQueue*
。如果它是一个对象,您需要传递它的地址:&queue
。
您必须将第二个调用更改为:
example(NULL, code2);
或者,如您所说,重载。
关于c++ - 两个默认参数设置给出错误/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11785857/