2

我有以下代码,结构声明在main之前,函数声明也是

struct stuff{
        int sale_per_day[Kdays];
        int max_sale;
        };

void set_max();

那部分是最后...

void set_max(struct stuff *point; int n = 0)
{
return;
}

现在我到底做错了什么?我明白了

“ISO C 禁止前向参数声明”

错误。我正在根据课程要求使用 GCC C89。

4

2 回答 2

9

它看起来好像只需要一个逗号而不是分号:

void set_max(struct stuff *point, int n = 0)
于 2012-05-04T20:19:06.477 回答
3

您的代码段存在一些问题:

void set_max(struct stuff *point; int n = 0)

1)您的原型与定义不符。C 通常会抱怨
2)您的定义包含一个分号,它应该是一个逗号
3)我认为int n = 0参数列表中也不允许。

请尝试以下方法。

struct stuff {
    int sale_per_day[Kdays];
    int max_sale;
};

void set_max(struct stuff *point);

void set_max(struct stuff *point)
{
    int n = 0;
    return;
}
于 2012-05-04T20:26:34.803 回答