דחוווף!!! בבקשהההה!!!

yaishb

New member
דחוווף!!! בבקשהההה!!!

נסיון להצהיר על פונקציה חברה במחלקה כסטטית נותן את שגיאת הקומפילציה הבאה: (unix , ++g): cannot declare member function `Cell::printHeader(int)´ to have static linkage למה זה קורה לי??? כך נראה הקוד הרללונטי:
class X { public: static myfunction(int); };​
תעזרווו לייי!!!!
 

galke

New member
זה לא הגיוני

מה שכתבת אמור לעבוד. יכול להיות שהשגיאה נובעת מ - include שעשית?
 

yaishb

New member
אבל אם כבר הזכרת

אז ב header אני לא מאנקלד שום קובץ, ואילו בקובץ cpp יש include לספריות סטנדרטיות ולקובץ header
 

yaishb

New member
מסתבר שלא צריך להצהיר כ static

על הפונקציה בקובץ היישום...
 

galke

New member
כמובן

הצהרות על static (גם למתודות וגם למשתנים) צריך לשים רק ב - h.
 

galke

New member
אז אולי

יכול להיות שהבעיה היא בקומפיילר, למרות שלא נראה לי. תנסה לקמפל את הדוגמא שכתבת בלי שום includ-ים, ולראות אם זה עובר.
 
למעלה