情况就是这样。在文件“fileA.c”中我有
typedef struct MY_STRUCT
{
int A;
int B;
int C;
}MY_STRUCT;
MY_STRUCT Data;
/* Function */
int function(MY_STRUCT *params)
{
int varA, varB, varC;
varA = params->A;
varB = params->B;
varC = params->C;
}
我需要从其他例程中填充结构元素,例如“fileB.c”,其中包含以下内容:
extern MY_STRUCT Data;
int function(MY_STRUCT *params);
/* Function */
void userMain(void)
{
Data.A = 1254;
Data.B = 5426;
Data.C = 1236;
function(&Data);
}
但我得到了错误:
"[Error] fileB.c E208: 语法错误 - 标记 ";" 插入到 "Data" 之前
当我交叉探测错误时,编译器将我带到声明“extern MY_STRUCT Data;”
所以我的问题是如何完成这个功能?我的意思是,如何从与我声明结构的文件不同的另一个文件中的另一个函数填充结构的元素?