선택적 멤버 함수 중 하나에 대한 인수를 만들고 싶습니다. 인수가 제공되지 않으면 멤버 변수를 사용합니다. 나는 그것을 컴파일하려고 할 때C++에서 멤버 변수를 기본 인수로 사용하는 방법은 무엇입니까?
그러나 "오류 : 비 정적 데이터 멤버 '객체 :: initPos'의 잘못된 사용"을 보여줍니다
그냥 문제를 격리하기 위해, 나는 디폴트에 시도하는 int 유형을 그리고 그것은 잘 컴파일됩니다. 내 코드의 문제점 및 기본 값으로 멤버 함수를 사용하는 방법이 궁금합니다.도움 주셔서 감사합니다.
Object.h
class Object
{
public:
...
void MoveTo(double speed, Point position);
protected:
Point initPos;
Point currPos;
};
Object.c
void Object::MoveTo(double speed, Point position = initPos)
{
currPos = postion;
}
Point.h
class Point
{
...
private:
double x;
double y;
double z;
};
귀하의 질문이 나 산란 만든이 하나 http://stackoverflow.com/questions/9286801/valid-expressions-for-default-function-arguments –