函数gcc中的struct参数

时间:2014-10-26 12:52:45

标签: c gcc

我编写了一些代码并使用g ++编译器完美地工作,但是当我使用gcc时,它会抛出错误Unknow type name 'Image' in void load_image(FILE*, Image*);

这是我头文件的一部分:

struct Image {
    struct FileHeader file_header;
    struct InfoHeader info_header;
    struct RGBQuads rgbquads;
    struct Pixel** pixel;
    struct Pixel* pixels_array;
};

void load_image(FILE*, Image*);

所以我无法理解这个问题是什么。我试图用C规则写作。

2 个答案:

答案 0 :(得分:4)

您似乎正在将程序编译为C程序。如果是这样,那么你必须写

void load_image(FILE*, struct Image*);

另一种方法是使用typedef作为结构。例如

typedef struct Image {
    struct FileHeader file_header;
    struct InfoHeader info_header;
    struct RGBQuads rgbquads;
    struct Pixel** pixel;
    struct Pixel* pixels_array;
} Image;

void load_image(FILE*, Image*);

答案 1 :(得分:2)

应该是

void load_image(FILE*,struct Image*);

否则使用

typedef struct Image NEW_NAME;