반응형
멤버 함수 포인터를 통해 호출하는 방법은 무엇입니까?
멤버 함수 포인터로 테스트를 시도하고 있습니다. 이 코드에 어떤 문제가 있습니까? bigCat.*pcat();
문은 컴파일되지 않습니다.
class cat {
public:
void walk() {
printf("cat is walking \n");
}
};
int main(){
cat bigCat;
void (cat::*pcat)();
pcat = &cat::walk;
bigCat.*pcat();
}
더 많은 괄호가 필요합니다.
(bigCat.*pcat)();
^ ^
함수 호출 ( ()
)은 멤버에 대한 포인터 바인딩 연산자 ( .*
) 보다 우선 순위가 높습니다 . 단항 연산자는 이항 연산자보다 우선 순위가 높습니다.
참조 URL : https://stackoverflow.com/questions/12189057/how-to-call-through-a-member-function-pointer
반응형
'IT TIP' 카테고리의 다른 글
PANDAS는 여러 Y 축을 플롯합니다. (0) | 2021.01.07 |
---|---|
HTML5 Canvas drawImage 비율 버그 iOS (0) | 2021.01.07 |
EntityManager.flush의 기능은 무엇이며 왜 사용해야합니까? (0) | 2021.01.07 |
Elasticsearch의 모든 문서 덤프 (0) | 2021.01.07 |
파이썬에서 중괄호와 대괄호의 차이점은 무엇입니까? (0) | 2021.01.07 |