السلام عليكم
يا جماعة فيه شي اغرب من الغريب :)
عرفت static array
int a[3][3];
حاول اسوي لها passing الى فنكشن لكن المشكلة انه كل مره يرفض
int func(int **a)
يرفض هنا تماما لأن التايب مو مثل بعض انا طلع براسي عشر طعش استفهام
قلت اسوي كاست واناظر
func((int**)a);
وصل سليم وما قل فيه اي مشكلة
لكن داخل البودي داخل الفنكشن
int func(int **a)
{
cout<<a[0][0]<<endl;
{اعطاني سيقمنتيشن فولت
رحت غيرت الكاست
func((int*)a);
وبالبدي حق الفنكشن func
cout<<a[0]<<endl;
والله طبع لي اول element !!!!!!!!
رحت حطيت
cout<<a[8]<<endl;[/code
والله وطبع آخر element !!!
يا جماعة انا استغربت ! ال static 2D-Arrays تمثل بشكل liner ثم يسوي لها مابينق ؟؟
يعني ما تمثل على انها array of pointers each point to another array
لأن هذا هو الشكل الدارج بالـ dynamic arrays الي نسوي لها allocation بال heap؟
السؤال هو كيف نمرر الـ 2D-Array الى فنكشن ؟