내가 클래스 메소드 포인터를 위해 노력하고있어, 그래서 같은 것을 가지고 컴파일되지 않습니다 :(포인터
class foo {
public:
static void bar() {
}
};
void (foo::*bar)() = &foo::bar;
내가 얻을 :
> error: cannot convert ‘void (*)()’ to
> ‘void (foo::*)()’ in
> initialization
내가 클래스 메소드 포인터를 위해 노력하고있어, 그래서 같은 것을 가지고 컴파일되지 않습니다 :(포인터
class foo {
public:
static void bar() {
}
};
void (foo::*bar)() = &foo::bar;
내가 얻을 :
> error: cannot convert ‘void (*)()’ to
> ‘void (foo::*)()’ in
> initialization
정적 메서드는 호출되지 않고 이름으로 사용될 때 포인터입니다.
void (*bar)() = foo::bar; // used as a name, it's a function pointer
...
bar(); // calls it
TNX 빠른 답변을 많이 :) 빠른 답변을 많이 :) 빠른 답변을 많이 :) – mfolnovich
아니, 그것은 함수의 포인터 아니다. 그것은 함수 포인터에 대해 * 부패 * 않습니다. – avakar
오히려 요점은 무엇입니까? – Will