나는 다음과 같은 클래스가 함수 :C++ 포인터를 선언
] 정적 클래스 멤버 함수
FAQ에 따르면 16,Process.h
class Process
{
private:
static double (Point2D :: *getCoord)() const; //How to initialize in Process.cpp?
...
};
2] 비 클래스 멤버 함수
Process.h
double (Point2D :: *getCoord)() const; //Linker error, how do declare?
class Process
{
private:
...
};
'프로세스 :: getCoord = Point2D를 :: getX :
당신은 초기화를 제공 할 수 있습니다 표현은 당신이 가지고있는 곳에서는 유효하지 않습니다. 그게 정의라고 생각 했나요? –
질문은 포인터 getCoord를 선언/초기화하는 방법이었습니다. 먼저 선언 방법을 작성한 다음이를 초기화하는 방법을 썼습니다. – Dialecticus
선언을 변경했지만 정의가 표시되지 않거나 (그 중 부족한 부분이 링크 오류의 원인 일 가능성이 높음) 초기화 (할당이 초기화와 동일하지 않음)가 표시되지 않습니다. 아마도 당신이 보여주고 자하는 것을 이해하지 못합니까? –