PDA

View Full Version : مشكل در انتقال يك متغير Struct



first_squit
سه شنبه 11 فروردین 1388, 10:58 صبح
با سلام و تبريك سال نو به دوستان عزيز

من تازه با ++C شروع كردم .:لبخندساده: و در انتقال يك متغير اشاره گر به ساختار به مشكل برخوردم ساختار از نوع شبيه سازي آرايه با ليست پيوندي است


struct MTXNode{
public :
int i,j;
MTXNode *Next , *Down ;
int Value;
};



تابع نيز به شكل زير درست شده



void DivMatx(MTXNode *MTX_Master , int NB , MTXNode *A11 , MTXNode *A12 ,MTXNode *A21 ,MTXNode *A22 );




نحوه فراخواني تابه نيز به شكل زير نوشته شده



MTXNode *a11,*a12, *a21,*a22;

a11 = (struct MTXNode *) malloc(sizeof(MTXNode));
a12 = (struct MTXNode *) malloc(sizeof(MTXNode));
a21 = (struct MTXNode *) malloc(sizeof(MTXNode));
a22 = (struct MTXNode *) malloc(sizeof(MTXNode));

DivMatx(HeadA , NB , &a11, &a12 , &a21 , &a22);




اشكال كار بنده در كجاست كه اين پيغام خطا صادر مي شه



'DivMatx' : cannot convert parameter 3 from 'MTXNode **__w64 ' to 'MTXNode *' c:\documents and settings\bad boy\my documents\visual studio 2005\projects\ex2_strassen\ex2_strassen\ex2_strass en.cpp 68

Nima_NF
سه شنبه 11 فروردین 1388, 13:51 عصر
وقتی در تابع اشاره گر به یک ساختار را می خواهید و ساختار هم اشاره گر هست دیگر & نیاز نیست، مستقیم آن را بنویسید. در صورتی از & استفاده می کنیم که اشاره گر نیست و ما به شکل مرجع آدرس را می خواهیم بفرستیم.




DivMatx(HeadA , NB , &a11, a12 , a21 , a22);

first_squit
چهارشنبه 12 فروردین 1388, 11:27 صبح
متشكرم

كاملا درسته و بنده به اين امر توجه نداشتم كه مي تونم با همون آدرسي كه فرستادم ارتباط برقرار كنم و كار ها رو روش انجام بدم .