עבור לתוכן

שליחת מערך של structים לפונקציה בc ללא קובץ header מדובר בc ansi

Featured Replies

פורסם

כאשר אני יוצר את הstruct בין אם בmain ובין אם לא ומצהיר על מערך של כאלו, כאשר אני שולח אותו לפונקציה אני מקבל שגיאת קומפילציה על טיפוס לא שלם. האם יש מיקום ספציפי בקובץ הmain.c שלי שבו הגדרת הstruct חייבת להופיע? (לפני או אחרי משהו?) כרגע היא מופיעה בתוך פונקצית הmain כאשר כל פונקציות העזר, בינהן גם אלו שמקבלות את מערך הstructים מוגדרות מעליה. מדובר בc רגיל, לא visual , לא c++ ולא c#.

תודה.

פורסם

קשה לדעת מה עשית בדיוק בלי הקוד.

פשוט צריך להגדיר את כל ה-struct לפני המקום שבו משתמשים בו וזהו. אם משתמשים בו בכמה קבצי c שונים אז הוא צריך להיות מוגדר בכל אחד מהם (כמובן עושים את זה ע"י קובץ h).

פורסם

yz101, אני חושב שהבעיה שלך היא בתחום ההגדרה של הטיפוס: מחלקה/מבנה שמוגדרים בתוך ה main, לא יהיו מוכרים מחוצה לה.

אם אתה רוצה שכל הפונקציות בקובץ יכירו את המחלקה/מבנה, תגדיר אותו בראש הדף.

תכנון טוב יותר, כמו ששניצל מציע, הוא להגדיר את המחלקה/מבנה בקובץ ייעודי, עם סיומת של (header file .h), ולייבא אותו (include) לכל קובץ שבו אתה משתמש בו.

אם אתה בוחר באפשרות הזאת, כדאי לך לכתוב בראש דף ה header שורה שתמנע כפילויות:

#pragma once

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים