26-05-2007, 19:50
|
|
|
|
חבר מתאריך: 05.08.06
הודעות: 2,860
|
|
מה שכתבת לא נכון
משום שהמערך arrnVec יעלם לאחר סיום הפונקציה Func, ולכן אתה בעצם מחזיר מצביע לזיכרון שלא שלך.
אם אתה רוצה להחזיר מערך חדש אמיתי, אתה יכול להקצות אותו באופן דינמי ואז להחזיר אותו, אבל זה לא מומלץ כי אחר כך תצטרך למחוק אותו באופן ידני.
דרך יותר טובה יכולה להיות לעטוף את המערך בstruct למשל, להחזיר את הstruct, ואז אתה אכן תקבל עותק חדש נקי ונטול אחריות של המערך.
הדרך הכי טובה היא להעביר לפונקציה את מערך שהגדרת מראש, והיא כבר תעשה איתו מה שהיא רוצה.
|