2012-01-08 7 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.ヘッダーは心配しないでください。プログラムのどこかで必要とされます。あなたは、関数turnAntにご渡されたポインタで 'G' を欠けている

void turnAnt (langtonsAnt *pant, unsigned short quarterTurns) 
+6

lantonsAnt - > langtonsAnt? – marko

+0

行10: 'langtosAnt'。 12行目: 'lantosAnt'。欠落している 'g'に注意してください... – fge

答えて

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

する必要があります!構造体名に "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) 
{ 
    ...... 
3

関連する問題