לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 07-07-2009, 21:17
  Dragonion Dragonion אינו מחובר  
 
חבר מתאריך: 22.08.08
הודעות: 310
C++: בעיות עם include

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

יש לי קובץ הגדרה אחד שמאנקלד את כל קבצי ההגדרה ההאחרים
קוד PHP:
 #pragma once

#include "file1.h"
#include "file2.h"
#include "file3.h"
... 

וכל קובץ הגדרה מוסיף אותו (האמת שאף פעם לא הבנתי למה אין לולאה אין סופית של אינקלודים, כבר הצלחתי לעשות אחת ).

בכל מקרה מה שקורה זה שמתודות (אני משתמש במחלקות במקרה הזה) יכולות לקחת ולהחזיר פרמטרים מהסוגים שהוגדרו בקבצים האחרים, אבל עם אני מנסה להגדיר משתנה מאחד מהסוגים האלה, הקומפיילר צועק עלי.

עם אני מנסה להגדיר משתנה בתוך מחלקה, הוא טוען ש
"field `var_name' has incomplete type"
ועם אני מנסה להגדיר משתנה סתם בחוץ (גלובלי) הוא טוען ש
"aggregate `var_type var_name' has incomplete type and cannot be defined "

אני כבר מנסה לשנות כל דבר שאני יכול לחשוב עליו מבלי לקבל תוצאות.
תודה מראש על כל עזרה.


נערך לאחרונה ע"י Dragonion בתאריך 07-07-2009 בשעה 21:22.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 07-07-2009, 22:20
  Dragonion Dragonion אינו מחובר  
 
חבר מתאריך: 22.08.08
הודעות: 310
בתגובה להודעה מספר 3 שנכתבה על ידי eXtruct שמתחילה ב "..."

תחלס.
Types.h
קוד PHP:
 class Matrix3;
class 
Matrix4;
class 
Vector3;
class 
Vector4;
class 
Quaternion;
class 
Font;
class 
Bone


Includes.h
קוד PHP:
 #include "Types.h"
#include "Matrix3.h"
#include "Matrix4.h"
#include "Vector3.h"
#include "Vector4.h"
#include "Quaternion.h"
#include "Tga.h"
#include "Font.h"
#include "Bone.h" 


ועכשיו כל אחד מקבצי ההגדרה נראה משהו בסגנון הזה
קוד PHP:
 #ifndef __Vector3_h__
#define __Vector3_h__

#include "Includes.h"


class LibExport Vector3
{
    
// bla bla bla
    
Matrix3 bla// error
};

Matrix3 bla// error

#endif // __Vector3_h__ 

למקרה של אי הבנה, ה"ליב אקספורט" זה בשביל ספרייה מקושרת
(מעניין עם מישהו אי פעם יסדר במחשבים את כל העניין של שפות שמתחילות משמאל ביחד עם שפות שמתחילות מימין)

האמת שלא ממש חשבתי שיש בעיה עם הקוד שלי ולכן לא הבאתי אותו מלכתחילה. חשבתי שהוא תקין מכיוון שדי העתקתי את הסגנון (הסדר של ההגדרות וכל זה) מספרייה אחרת שלא אני כתבתי.

נערך לאחרונה ע"י Dragonion בתאריך 07-07-2009 בשעה 22:26.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 12:45

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר