当我尝试使用某种结构时,我收到的“数据的存储大小未知”。
码:
ioHelper.h:
#ifndef IOHELPER_H_
#define IOHELPER_H_
typedef struct fileValues data;
struct fileValues ioInput(FILE* file,int dim,int sign);
#endif /* IOHELPER_H_ */
ioHelper.c:
struct fileValues
{
int dim;
char sign;
double x;
double y;
};
map.c:
void drawData(FILE* vectors)
{
double paramLoc [MAX_DIMENSION];
char sign;
(this is where i get the error) struct fileValues data;
...
}
有任何想法吗?
最佳答案
这是因为在编译map.c时,编译器无法在IoHelper.c中看到该结构的完整定义。
您可能只包括了IoHelper.h,它具有(不完整的)声明,而不是定义。
因此,除非您没有在map.c内部声明该结构类型的变量,