클래스 내부에 함수 포인터를 정의하고 클래스 인스턴스를 통해 액세스하려고하지만 오류가 표시됩니다.클래스 내부 함수 포인터 액세스
1 #include<stdio.h>
2
3 class pointer {
4 public:
5 int (pointer::*funcPtr)(int);
6 pointer() {
7 funcPtr = &pointer::check;
8 }
9
10
11 int check(int a)
12 {
13 return 0;
14 }
15
16 };
17
18 int main()
19 {
20 pointer *pt=new pointer;
21 return (pt->*funcPtr)(3);
22 }
그것은 컴파일 타임 오류를 보여줍니다 :
checkPointer.cpp:21:15: error: ‘funcPtr’ was not declared in this scope
저를 도와주세요 여기
는 코드입니다.미리 감사드립니다.
+1 스택 오버플로에 오신 것을 환영합니다! 완벽하고 간결한 테스트 케이스를 제공해 주셔서 감사합니다. 왜 모두가 그랬 으면 좋겠는지 http://sscce.org를 참조하십시오. –