c++ - 如何提供默认参数作为这个对象?

标签 c++ default-value

我想要这样的声明:

void Date::get_days_name(const Date& = this)

我会理解,如果没有提供参数,请使用此对象作为参数。出于某种原因,在 VS 中我收到错误消息:

'错误 1 ​​error C2355: 'this': can only be referenced inside non-static member'

知道我做错了什么吗?

最佳答案

你可以重载函数:

void get_days_name(const Date&) const;
void get_days_name() const {
  get_days_name(*this);
}

(顺便说一句,this 是一个指针,而不是引用。)

关于c++ - 如何提供默认参数作为这个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571751/

相关文章:

c++:浮点运算的稳定性策略

bash - 在 bash 中将变量默认值设置为空的目的是什么?

swift - 如何避免子类中默认初始化参数冗余?

Python:LPTHW 示例。 39、获取函数,默认变量。 ELI5

C++ 使用带有在头文件中定义的全局变量的 C 库

c++ - 为什么需要在菱形层次结构的中间指定虚拟继承?

C++如何使虚函数返回任何类型的指针?

c++ - 访问其他程序使用的内存

python - Django - 默认字段值取决于其他字段值

python - 在 python 中使用类变量作为非默认参数