【发布时间】:2021-07-05 14:37:00
【问题描述】:
我想为其中一个成员函数设置一个可选参数。当没有提供参数时,它将使用成员变量。
但是,当我尝试编译它时,它显示“错误:无效使用非静态数据成员'Object::initPos'”
为了隔离问题,我尝试默认一个 int 类型,它编译得很好。 我想知道我的代码有什么问题,以及如何使用成员函数作为默认值。
感谢您的帮助!
对象.h
class Object
{
public:
...
void MoveTo(double speed, Point position);
protected:
Point initPos;
Point currPos;
};
对象.c
void Object::MoveTo(double speed, Point position = initPos)
{
currPos = postion;
}
点.h
class Point
{
...
private:
double x;
double y;
double z;
};
【问题讨论】:
-
你的问题让我产生了这个:stackoverflow.com/questions/9286801/…
标签: c++ object default arguments