2013-05-10 2 views
0

어떻게 glutDisplayFunc (와 같은 함수)의 인수로 Objective C 메서드를 사용할 수 있습니까? 나는 ObjC 아주 새로운, 그래서 나는 완전히이Objective C glutDisplayFunc with method

C++에서

, 당신은 단지 빈 공간에 전달할 수 있습니다 어떻게 작동하는지 모르겠지만, ObjC에서,이 시도 :

//... 
    glutDisplayFunc([self display]); 
    //... 

-(void) display{ 
    glutPostRedisplay(); 
} 

나 '를 또한 정적 메소드

//... 
    glutDisplayFunc([self display]); 
    //... 

+(void) display{ 
    glutPostRedisplay(); 
} 

하지만 오류를 얻을 때마다 "호환되지 않는 유형의 무효 (*) (무효)로 매개 변수 '무효'통과"를 시도했습니다. 나는 당신이 방금 공백을 넘길 수 있다고 생각했습니다.

그래서, 내가이 일을 할 수있는 방법 C++에서

답변

0

(이 방법이어야한다), 당신은 당신이 할 수없는, 무효

없음에 전달할 수 있습니다.

그래서, 내가이 일을 할 수있는 방법 당신은 할 수 없습니다

(이 방법이어야한다). 당신이 관심있는 내용은 closure 또는 대리자으로 알려져 있지만 GLUT는 글로벌 범위 C 스타일 콜백 함수을 사용합니다. 가장 좋은 방법은 C와 호환되는 호출 규칙을 사용하여 전역 범위 래퍼를 작성한 다음 전역 범위 클래스 인스턴스의 메서드를 호출하는 것입니다.