Fogeaters, Light The World.

23

2016-Jan

C++ 멤버 함수 포인터

작성자: title: MoonBlonix IP ADRESS: *.148.87.98 조회 수: 1775

일반적으로 함수포인터는


반환값 (*함수명)(매개변수)

ex ) void (*func)(int, int)


로 선언해서 사용한다.

근데 이대로 C++ 클래스의 멤버함수를 일반 함수포인터에 저장하려면 오류가 뜬다.

'this->함수명' 뭐 이런식으로 시도를 해봐도 안된다. 그러면 어떻게 하느냐?

아예 일반 함수포인터랑 선언을 다르게 해야한다.

멤버함수포인터의 선언방식은 아래와 같다.


반환값 (클래스명::*함수명)(매개변수)



왜 이러냐면 맴버함수의 경우 보통 내부적으로 this 인자를 받기 때문이다.

그러니까 선언해둔 함수포인터랑 인자가 달라져서 저장이 안되는 거다.


그러니까 멤버함수를 static 으로 선언할 경우 

this 인자가 사라져서 인자가 일치하므로 일반 함수포인터에도 저장할 수 있다.

profile
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 [Web] 클라우드 IDE + 2 title: MoonBlonix 2017-06-25 15129
32 [AVR] HC_SR04 초음파센서 사용 file title: MoonBlonix 2016-02-13 1670
31 [AVR] 피에조 부저 활용 file + 1 title: MoonBlonix 2016-02-12 1956
30 칼만필터(Kalman Filter) + 2 title: MoonBlonix 2016-02-11 4378
29 low pass filter, high pass filter (저역통과필터, 고역통과필터) file title: MoonBlonix 2016-02-11 1456
28 [AVR] 루프 실행시간 측정 (아두이노의 Millis(), Micros() 분석) title: MoonBlonix 2016-02-09 1457
27 상보필터(Complementary Filter) file title: MoonBlonix 2016-02-09 1740
26 가속도, 자이로 센서에 대해 title: MoonBlonix 2016-02-09 1573
25 [AVR] UART 통신 file title: MoonBlonix 2016-02-07 1609
24 C++ 과 C 를 같은 프로젝트에서 사용하기 title: MoonBlonix 2016-02-07 1506
23 라즈베리파이 운영체제에 관하여 title: MoonBlonix 2016-02-05 1460
22 [리눅스] 기본 명령어 title: MoonBlonix 2016-02-05 1632
21 [리눅스] C 언어 개발환경 구축 title: MoonBlonix 2016-02-05 1865
20 라즈베리파이 GPIO 핀 배열 file title: MoonBlonix 2016-02-05 2061
» C++ 멤버 함수 포인터 title: MoonBlonix 2016-01-23 1775
18 AVR 직접만든 DC모터 라이브러리 (C++ Class) file title: MoonBlonix 2016-01-16 1519
17 [AVR] I/O 포트 메뉴얼 (ATMega128) file title: MoonBlonix 2016-01-16 1595
16 AVR delay 함수 (_delay_ms, _delay_us) title: MoonBlonix 2016-01-15 1641
15 AVR 멀티채널 PWM (타이머 하나로 여러 PWM 구동) title: MoonBlonix 2016-01-15 1652
14 AVR 초패스트 PWM title: MoonBlonix 2016-01-14 1566
13 AVR 타이머 응용 여러 PWM 방식과 예제 file + 1 title: MoonBlonix 2016-01-14 1652