Papers/programming

함수 포인터

tomato13 2007. 6. 28. 14:54

typedef struct funcStr{
 void* func;
}strVar;

int func3(int arg)
{
 printf("arg = %d\n", arg);

 return 1;
}

void TestCase9(void* ts, void* tc)
{
 strVar* pstrVar = (strVar*)malloc(sizeof(strVar));

 int (*func4)(int);
 pstrVar->func = func3;             // (1)
 func4 = pstrVar->func;
 func4(1);

 free(pstrVar);

 GTF_CHECK(1);
}

 

(1)이후에

pstrVar->func(1);

과 같이 기술하면 error가 발생한다. 그렇다고

int (*(pstrVar->func))(int); 를 선언해주어도 error가 발생을 한다. 당연한 것인가? ㅡ.ㅡ

'Papers > programming' 카테고리의 다른 글

virtual function  (0) 2007.08.06
malloc  (0) 2007.07.02
void형 변수를 int형으로 타입변환  (0) 2007.06.28
redefinition error  (0) 2007.06.27
struct pointer  (0) 2007.06.12