繁体   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