我声明了一个结构数组,并希望声明第二个结构,以便在每次单元测试开始时重新初始化结构。
因此,我在两个头文件中声明
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是一个指针?
发布于 2011-11-29 09:37:41
假设您的类型名是描述性的,并且peripheralsArray_t实际上是一个数组。
C不支持数组赋值,而这正是你想要做的。
因此,编译器在RHS上下文中看到一个数组,并推断它应该衰减为一个指针,而指针的类型是错误的。
发布于 2011-11-29 09:39:47
不能赋值给数组。我假设peripheralsArray_t是一个类型定义的数组(这几乎总是一个坏主意)。
https://stackoverflow.com/questions/8304756
复制相似问题