enum

BMWE

New member
enum

enum{ //communication status return msgGood = 1 , msgNotReady, msgCRCerror, msgTimeOut };​
נראה טוב ויפה (ומוגדר ב header). הבעיה היא שאני מקבל מהקומפיילר את הבא:
Error : illegal name overloading privetGlobals.h line 28 msgGood = 1 , Error : illegal name overloading privetGlobals.h line 29 msgNotReady, Error : illegal name overloading privetGlobals.h line 30 msgCRCerror, Error : illegal name overloading privetGlobals.h line 32 };​
למישהו יש מושג מה הבעיה? (כעיקרון הקוד אמור לעבוד)
 

DadleFish

New member
יכול להיות...

שהגדרת פעמיים את ה-enum בשני מקומות שונים? שאתה עושה include ל-header שבו יש את ה-enum פעמיים מבלי שהגנת עליו?
 

BMWE

New member
אין דבר כזה

היה קובץ שבו הוא הוגדר, אך אותו קובץ נמחק ויש קובץ אחר במקומו
 

DadleFish

New member
אם אתה על visual studio

תשים את הקוד הבא לפני הגדרת ה - enum, תקמפל מחדש (rebuild) את כל הפרויקט ותראה אם ההודעה מופיעה פעמיים:
#pragma message("defining enumeration")​
 

voguemaster

New member
נסה את הדבר הבא:

typedef enum msgStatus { msgGood = 1, msgNotReady, msgCRCerror, msgTimeOut };​
 
למעלה