PDA

View Full Version : رفع ارور در تابع جمع دو رشته



fshb_ 1370
جمعه 02 دی 1390, 09:34 صبح
سلام دوستان
این کد اپراتور جمع را برای دو رشته overload میکنه.
1) چرا نباید نوع تابع بازگشتی من از نوع reference نباشه؟ (String &)
2) چرا این تابع کامپایلر ارور میده؟



String operator +(const String st1,const String &st2)
{
String total;
total.len=st1.len+st2.len+1;
total.str=new char[total.len];
strcpy(total.str,st1.str);
strcat(total.str,st2.str);
return total;
}

ارورش اینه که متغیری که در تابع تعریف شده نمیتونه به private member دسترسی داشته باشه. برای چی؟
چه جوری این ارور رفع کنم؟
مرسی

b.saminjad
شنبه 03 دی 1390, 10:57 صبح
سلام

شی نمیتونه به اعضای خصوصی دسرسی داشته باشه مگه اینکه تو تابع دوست تعریف بشه باstrcpy فقط میتونی ارایه کارکتری استفاده کنی نه کلاس رشته بعد تابعت میتونه & string هم باشه