[問題] 關於incomplete type
各位板友好
假如我宣告了一個struct如下
typedef struct node
{
int data1;
char * str;
} NODE;
接著宣告一個union
union myunion
{
int data;
struct NODE mynode;
};
在這裡用gcc會出現 field ‘mynode’ has incomplete type
但是把它改成指標(struct NODE* mynodeOB)就可以編譯過了..
上網找了一下資料還是看不太懂..
我猜是因為union必須事先知道哪一個type所佔的記憶體最大
而NODE中的char *指標還沒有malloc一塊記憶體給它
造成了union不知道這一個type會有多大
所以才會造成編譯上面的錯誤?
但是我把char * str指標改成char str
還是一樣的錯誤編譯訊息
不知道為什麼會這樣
謝謝各位板友的指教
--
~宅男的四個徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.197.57
→
05/29 21:06, , 1F
05/29 21:06, 1F
推
05/29 21:08, , 2F
05/29 21:08, 2F
→
05/29 21:08, , 3F
05/29 21:08, 3F
→
05/29 21:31, , 4F
05/29 21:31, 4F
→
05/29 21:32, , 5F
05/29 21:32, 5F
→
05/29 21:34, , 6F
05/29 21:34, 6F
→
05/29 21:35, , 7F
05/29 21:35, 7F