פיצול מחלקה ב ++c

פיצול מחלקה ב ++c

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

הודעות שגיאה:
\root\factorization.cpp|43|error: 'factor' has not been declared|
\root\factorization.cpp||In function 'int counter()':|
\root\factorization.cpp|45|error: 'entire' was not declared in this scope|
\root\factorization.cpp|45|error: 'divisor' was not declared in this scope|
\root\factorization.cpp|47|error: 'temp' was not declared in this scope|
\root\factorization.cpp|49|error: 'doc' was not declared in this scope|
\root\factorization.cpp|58|error: 'SIZE' was not declared in this scope|
\root\factorization.cpp|61|error: 'doc' was not declared in this scope|
||=== Build finished: 7 errors, 0 warnings ===|


אגב,
אם אני מעוניין להחזיר מ ‏factor::counter()‎‏‎‏‏ יותר ממשתנה אחד. בתוספת, Length עבור אורך המערך, doc עבור מיקום הנקודה.
האם להשתמש במצביעים ? או שכדאי לפצל את המבנה ולהחזיר את המבנה החדש ?

תודה למשיבים.
 

BravoMan

Active member
כי factor אצלך הוא משתנה מקומי ב-main לא

שם מחלקה.

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

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

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