0

我有以下代码。为什么它未定义以下列方式取消引用联合指针?

extern union MyUn *P1;          
extern union MyUn *P2;

extern void myfunc(void)
{
      *P1 = *P2;                
}
4

2 回答 2

7

如果你还没有在这个源文件中定义联合,编译器不知道要复制多少。

工会的规模是多少?

于 2012-09-01T09:40:22.953 回答
3

这与联合无关,也不是“未定义”:如果您尝试取消引用指向不完整类型的指针(出于显而易见的原因),这只是编译器错误。

于 2012-09-01T09:42:58.030 回答