IAR AVR初始化变量为何错误 以前用其他编译器定义变量时可以初始化,

IAR AVR初始化变量为何错误 以前用其他编译器定义变量时可以初始化。

unsigned int wave_Adjustment=1000;
提示Error[Pe148]: variable "flag" has already been initialized (at line 12 of "F:\何锐\iar FOR AVR\variable.h") F:\何锐\iar FOR AVR\Variable.h 12

如果unsigned int wave_Adjustment;
不初始化就正确。 有谁知道怎么可以再定义的时候初始化变量不出错。
不是的 如果这样的话 定义就已经出错。但是定义没有错,初始化就出错。 我郁闷,我今天用数组初始化也出错。

我想你可能是在 .h 文件里初始化的是吧!

如果是的,请把 unsigned int wave_Adjustment=1000; 放到你的 .c 文件里

然后其它文件用 extern 引用.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-19
变量只能被初始化一次,不可以再初始化。

我知道你可能是在 .h 文件里定义的,所以不可以初始化,如果你想初始化,请在你的 .c 文件里使用定义初始化,在别的文件里用 extern 引用
第2个回答  2010-09-17
应该变量前面已经赋值了,或这个变量来自另外一个文件就不需赋值了。

IAR AVR初始化变量为何错误 以前用其他编译器定义变量时可以初始化,
我想你可能是在 .h 文件里初始化的是吧!如果是的,请把 unsigned int wave_Adjustment=1000; 放到你的 .c 文件里 然后其它文件用 extern 引用.

相似回答