2012-01-08 39 views
1

我試圖編譯這段代碼(會是蘭頓螞蟻的模擬)預期「)」:指着在C結構 - 錯誤:之前「*」標記

#include <conio.h> 
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <time.h> 

    typedef struct 
    { 
     unsigned short x, y; 
     enum directions {up = 0, right, down, left} direction; 
    } langtonsAnt; 

    void turnAnt (lantonsAnt *pant, unsigned short quarterTurns) 
    { 
     pant->direction = (pant->direction + quarterTurns) % 4; 
    } 

    int main() 
    { 
     return EXIT_SUCCESS; 
    } 

不過,我不斷收到此錯誤:

12|error: expected ')' before '*' token|

編譯器是gcc。

我無法弄清楚什麼是錯誤的,因爲我已經搜索了網絡和各種參考。

P.S.不要擔心標題,在程序的其他地方需要。

+6

lantonsAnt - > langtonsAnt? – marko 2012-01-08 00:53:59

+0

第10行:'langtosAnt'。 12號線:'lantosAnt'。注意缺少的'g' ... – fge 2012-01-08 00:56:02

回答

7
void turnAnt (lantonsAnt *pant, unsigned short quarterTurns) 

應該

void turnAnt (langtonsAnt *pant, unsigned short quarterTurns) 
3

你缺少你通過指針 'G' 的功能turnAnt!注意結構體名稱中「lan」之後的'g'?

typedef struct 
    { 
     unsigned short x, y; 
     enum directions {up = 0, right, down, left} direction; 
    } langtonsAnt; 

但是在你的函數turnAnt中,「lantonsAnt * pant」缺少'g'!它應該看起來像這樣:

void turnAnt (langtonsAnt *pant, unsigned short quarterTurns) 
{ 
    ......