即使用了#ifndef…… #define的方式,头文件中定义变量还是会报错重复定义,为何?
头文件myData.h中定义
#ifndef __MY_DATA__
#define __MY_DATA__
struct __stMyData {
uint64_t lat; //纬度
uint64_t longit; //经度
}myData[] = {
{ 229275507430 , 1132741961720 },
{ 229275506920 , 1132741962120 },
{ 229275506930 , 1132741962120 },
{ 229275506630 , 1132741962280 }}
#endif
即使使用了#ifndef __MY_DATA__ #define __MY_DATA__ 但是只要两个源文件同时包含这个头文件就会报重复定义错误,这是为什么?既然已经#ifndef __MY_DATA__ 那定义的语段照理说不应该重复编译呀? 请了解的大神解答