
23-03-2006, 22:08
|
|
|
|
חבר מתאריך: 20.11.02
הודעות: 4,573
|
|
|
CLASS&POINTERS
אוקיי הבלאגן מתחיל אצלי מתי שאני הופך את התוכנית לפונקציות ומנסה לשלוח את ה"קלאס" (מה השם של זה בעיברית??) לפונקציה
זה קטע מה"קלאס":
קוד:
class battleship
{
public:
int amount, sot; //sot=ships on tabel
char type;
int shipsize;
הקריאה לפונקציה:
קוד:
battleship *s, *c, *d, *b, *ac;
ships_init (s, c, d, b, ac);
והפונקציה בכבודה ובעצמה:
קוד:
void ships_init (battleship* s, battleship* c, battleship* d, battleship* b, battleship* ac)
{
s->shipsize=1;
c->shipsize=2;
d->shipsize=3;
b->shipsize=4;
ac->shipsize=5;
s->amount=2;
c->amount=1;
d->amount=1;
b->amount=1;
ac->amount=1;
s->type='s';
c->type='c';
d->type='d';
b->type='b';
ac->type='a';
}
הכל עובר קומפילציה אבל בהרצה שהוא קורא את הפונקציה ישנו את השגיאה הבאה
קוד:
9560 Segmentation fault ./bs2
Press Enter to continue!
בכל פעם מספר שונה כך שנראה לי זה בעיה בזיכרון
יש רעיון?
תודה לעוזרים
_____________________________________
|