c++ - 两个默认参数设置给出错误/

标签 c++

在我的“.h”文件中,我定义了:

    example(CQueue* queue = NULL, double code = 0);

在我的“.cpp”文件的两种不同方法中,我必须使用:

    example(queue);

    example(code2);

我在这两种情况下都会出错。我不想重载。正在定义它:

    example(CQueue* queue, double code = 0);

唯一的办法?或者我可以按照当前定义的方式定义它吗?

最佳答案

您可以这样定义它,但不要指望第二次调用会起作用。第一个应该没问题,前提是 queueCQueue*。如果它是一个对象,您需要传递它的地址:&queue

您必须将第二个调用更改为:

example(NULL, code2);

或者,如您所说,重载。

关于c++ - 两个默认参数设置给出错误/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11785857/

相关文章:

c++ - 静态大小的Rcpp空列表是否比list.push_back()更有效?

iphone - (iphone) 可以为 C++ 类/结构定义 @property 吗?

c++ - 对自定义对象的 vector 进行排序

c++ - 使用 ffmpeg 从 C++ 内存中的多个图像流式传输 RTSP

c++ - 在 (K)ubuntu 20.04 上使用 GCC11

c++ - 如何将返回 unique_ptr 的函数转换为原始指针?

c++ - `QTreeView` 什么时候在 Mac 上发出激活信号?

c++ - C++中的字符串和整数乘法

c++ - 如何运行不阻塞我的主终端并允许多任务处理的 gtkmm 应用程序

c++ - wxWidgets 3.1.5 MSW - HiDPI 缩放问题导致控件大小不正确