创建阵列我用extern
创建一个数组,但似乎它给我一个错误使用“的extern”在C
"undefined reference to `callback_Task'"
// test.h
typedef struct {
uint32_t count;
uint32_t total;
} callback_task;
extern volatile callback_task callback[10];
现在,在C源文件
// test.c
void test_task(void) {
callback[1].count = 1;
callback[1].total = 2;
}
虽然编译它给出一个错误:
undefined reference to `callback' at 'test_task'
您是否在'test.c'文件中包含'test.h'? – haccks
'extern'关键字使其成为*声明*。你仍然需要一个*定义*。 –
另外,你为什么使用'volatile'? –