저는 C 프로그래밍 언어가 새로 도입되었으며 (if 문)을 가지고 있으므로 switch 문으로 전송해야합니다. 내 문제는 char * 형식의 (node_kind)라는 필드가 있고 if 문에서 (strcmp)를 사용하여 내용을 비교하지만 switch 문에서이 작업을 수행하는 방법을 모르겠습니다. 어떻게 말해 줄래? 여기 내 프로그램switch 문에서 (char *)를 사용합니다.
if (strcmp(node->node_kind, "VAR_TOKEN_e") == 0)
job = visitor->visitjob_VAR_TOKEN;
if (strcmp(node->node_kind, "INT_e") == 0)
job = visitor->visitjob_int;
if (strcmp(node->node_kind, "BOOL_e") == 0)
job = visitor->visitjob_bool;
: 스위치 문에서
: 당신의 gperf의 파일에서
: 헤더 파일에서
: 당신이 뭔가를해야합니다 내가 열렬히 보았다. 폴 R.의 대답과 함께 가지 않으면 하드 코드하지 않는 방법을 찾으십시오. – asm