|
안녕하세요 스페로 입니다.
함수 포인터 선언 하는 것부터 다르게 하고 호출 방법도 다릅니다.
함수 포인터 선언은
typedef int (TForm1::*pFunc)(int index);
이처럼 해야 하구여
함수 포인터 할당은
pFunc pf;
pf = &TForm1::bb;
그리고 pf로 호출을 하는 것은
(Form1->*pf)(100);
이런식으로 해야 합니다.
그럼^^
한대필 님이 쓰신 글 :
:
: typedef int (*TFunc)(int index);
:
: struct TCheck
: {
: AnsiString TitleComent ;
: AnsiString Explanation ;
: TFunc Func ;
: };
:
:
: 위와 같이 선언하구요...
:
: ---------------------------------------------------------------
:
:
: int TForm1::bbb( int aaa )
: {
: return 100 ;
: }
:
:
: 위와 같은 함수가 있구요..
: ---------------------------------------------------------------
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:
: TCheck ccc ;
:
: ccc.TitleComent = "연습";
: ccc.Explanation = "연습합니다." ;
: ccc.Func = bbb ;
:
: }
:
: 이렇게 했는데... ccc.Func = bbb ; 부분에서 에러납니다.
: member function must be called or its address taken. 랍니다.
: 후후후 틀린것은 같은데.. 어떻게 해야 하는지 모르겠습니다.
:
: 이럴경우 함수연결 어떻게 하지요?
: 완전히 초짜라..
|