에 정의 된 함수에 대한 포인터를 호출하는 방법 다음 코드에 무엇이 잘못 되었습니까?
아래의 parseCounter1() 및 parseCounter1()은 두 가지 기능입니다.
나는 그래서 const OptionValueStruct
에서 자신의 포인터를 넣어 그
option_values의 각 요소는 []
통해 사라 졌어요 때 그에 따라 호출 할 수 있습니다 : 당신은 선언 한typedef struct
typedef struct OptionValueStruct{
char counter_name[OPTION_LINE_SIZE];
int* counter_func;
} OptionValueStruct_t;
const OptionValueStruct option_values[] = {
{"Counter1", (*parseCounter1)(char*, char**)},
{"Counter2", (*parseCounter2)(char*, char**)},
};
const OptionValueStruct *option = NULL;
for(int i = 0; i< sizeof(option_values)/sizeof(OptionValueStruct_t); i++){
option = option_values + i ;
result = option->counter_func(opt_name, opt_val);
}
답변을 많이 주셔서 감사합니다 – user399517
int (* counter_func) (char *, char **) 오타가 콜론 (세미콜론 대신)에 있습니까? 또는 일부 특수 구문? – Nathan
아니 오타되었습니다 – nos