クラス内に関数ポインタを定義しようとしていますが、クラスのインスタンスを通じてアクセスしようとしていますが、エラーが表示されます。ここでクラス内の関数ポインタへのアクセス
は、コードは次のとおりです。
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を参照してください。 –