אבל אתה לא יכול...
להשתמש בstruct הראשון מה שאתה מגדיר בstruct השני מבלי לעשות forward declaration.
הקומפיילר הוא one pass compiler הוא לא יכול לנחש את הדברים האלה לפני שאתה מגדיר אותם, בשביל זה המציאו את הforward declaration.
ברור שזה יעשה בלאגן.
הויכוח היה (מנקודת המבט שלי) בהאם מותר או אסור להשתמש ב anonymous structs ב C הסטנדרטי (למרות שהיום הסטנדרט הוא C11 ויש בו הרבה מעבר למה שהיה בansiC)
הטעות של הבחור נבעה מזה שהוא נסה להשתמש בstruct item (שלא הוגדר כזה) בתוך מבנה אנונימי לו עשה typedef וקרא לו item.
להשתמש בstruct הראשון מה שאתה מגדיר בstruct השני מבלי לעשות forward declaration.
הקומפיילר הוא one pass compiler הוא לא יכול לנחש את הדברים האלה לפני שאתה מגדיר אותם, בשביל זה המציאו את הforward declaration.
ברור שזה יעשה בלאגן.
הויכוח היה (מנקודת המבט שלי) בהאם מותר או אסור להשתמש ב anonymous structs ב C הסטנדרטי (למרות שהיום הסטנדרט הוא C11 ויש בו הרבה מעבר למה שהיה בansiC)
הטעות של הבחור נבעה מזה שהוא נסה להשתמש בstruct item (שלא הוגדר כזה) בתוך מבנה אנונימי לו עשה typedef וקרא לו item.