我编写了一些代码并使用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规则写作。
答案 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;