C で書かれたサンプル コードをダウンロードしましたが、1 つの命令がわかりません。さらに、コードをコンパイルしようとすると、コンパイラは、理解できない行でエラーをスローします。
コード:
// Global vars
static int getting_text = 0;
static char *the_text; // Definition Part
static void (*text_entered)(); // Definition Part 2
// method
int add_text(unsigned char key)
{
char msg[] = "x";
int len;
if(!getting_text) return 0;
if(key==8) /* backspace */
{
len = strlen(the_text);
the_text[len-1] = '\0';
}
else if(key==13 || key==9) // cr or tab ends
{
getting_text = 0;
text_entered(the_text); // Execution Part
}
else
{
msg[0] = key;
strcat(the_text, msg);
}
glutPostRedisplay();
return 1;
}
コンパイラは、メソッドの呼び出しに引数が多すぎるというエラーをスローします。しかし、それが static void (*xxx)() のメソッドであるか、または他のものであるかはわかりません。
前もって感謝します。