עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Eror בזמן ריצה ב- c++

Featured Replies

פורסם

שלום,

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

"Unhandled exception hw3_1.exe: 0*C000005: Access Violation" :nixweiss:

תודה....

פורסם

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

פורסם

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

פורסם
  • מחבר

אכן אני יודעת בדיוק על איזה שורה מדובר. ואין לי מושג מה הבעיה בה...

sum+= _array->calculate_compensations();

(הסוגריים שיייכים לצד ימין של השורה פשוט זה לא מסתדר..)

הפו' calculate_compensations מחזירה double וגם sum  double

תודה רבה

פורסם

תבדוק ש- i גדול מ- 0 וקטן מאורך המערך(ממש).

פורסם

וההסבר:

access violation (או segmentation fault) אומר שניסית לגשת בתכנית למקום אסור בזכרון (כלומר מקום שלא הוקצה בשבילך).

איך זה יכול לקרות? אם אני מגדיר מערך בגודל 10, ומנסה לגשת אליו למקום ה-11, אז במקרה הטוב מערכת ההפעלה תעלה על זה שניגשת למקום לא חוקי, ותצעק עלייך (בצורה הנ"ל). במקרה הרע, מערכת ההפעלה לא תעלה על זה (כי, נניח, התכנית תיגש למקום שכן מותר לה לגשת אליו, אבל לא שייך לאותו מערך), ואז תתרחש דריכת זיכרון, כלומר תדרכי על מידע שהתכנית צריכה, וזה יהיה לא נעים.

חוץ מזה, אם זו לא הבעיה, את צריכה לוודא ש-array באמת מאותחל ומצביע לאובייקט קיים.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.