【发布时间】:2011-11-29 01:34:15
【问题描述】:
我声明了一个结构数组,并想声明一个可以复制的第二个,以便在每个单元测试开始时重新初始化结构。
所以,我在 2 个头文件中声明
extern peripheralsArray_t Peripherals;
extern peripheralsArray_t DefaultPeripherals;
在 2 个 c 文件中
peripheralsArray_t Peripherals =
{... init values };
peripheralsArray_t DefaultPeripherals;
但是,当我尝试分配 DefaultPeripherals = Peripherals; 时,GCC 编译器(在 Cygwin 下)说
error: incompatible types when assigning
to type ‘peripheralsArray_t’ from type ‘struct _peripherals *’
为什么它认为Peripherals 是一个指针?
【问题讨论】:
-
问题一定出在其他地方。 _peripherals 来自哪里?
-
如果你展示了
peripheralsArray_t的定义,你可能会得到更好的答案。 -
peripheralsArray 的定义如果一直使用又有什么关系呢?