c++//程序求改错
- C/C++ code
#include <iostream>using namespace std;class A{public: static int bar (int n, double f); int foo (int n, double f); int n;};int main(){ int A::*pn = &A::n; A a; a.*pn = 10; A* pa = &a;// pa -> *pn = 10; int (A::*pfunc) (int, double) = &A::foo;// a.*pfunc (10, 0.23);// pa -> *pfunc (10, 0.23); int (*pfunc2) (int, double) = &A::bar; pfunc2 (10, 0.23);}
[解决办法]
- C/C++ code
#include <iostream>using namespace std;class A{public: static int bar (int n, double f) { cout<<"i am static bar"<<endl; return 0; } int foo (int n, double f) { cout<<" i am foo"<<endl; return 0; } int n;};int main(){ int A::*pn = &A::n; A a; a.*pn = 10; A* pa = &a;// pa -> *pn = 10; int (A::*pfunc) (int, double) = &A::foo;// a.*pfunc (10, 0.23);// pa -> *pfunc (10, 0.23); int (*pfunc2) (int, double) = &A::bar; pfunc2 (10, 0.23); return 0;}