簡體   English   中英

指向C中的結構-錯誤:“ *”標記之前的預期“)”

[英]Pointing to struct in C - error: expected ')' before '*' token

我正在嘗試編譯以下代碼(將模擬蘭頓的螞蟻):

    #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 |錯誤:預期在'*'標記之前的')'|

編譯器是gcc。

我已經搜索了網絡和各種參考文獻,因此無法弄清出什么問題了。

PS不用擔心標題,程序中其他地方都需要這些標題。

void turnAnt (lantonsAnt *pant, unsigned short quarterTurns)

應該

void turnAnt (langtonsAnt *pant, unsigned short quarterTurns)

您在指向函數turnAnt的傳遞指針中缺少“ g”! 注意結構名稱中“ 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)
{
    ......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM