fshb_ 1370
جمعه 02 دی 1390, 10: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 دسترسی داشته باشه. برای چی؟
چه جوری این ارور رفع کنم؟
مرسی
این کد اپراتور جمع را برای دو رشته 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 دسترسی داشته باشه. برای چی؟
چه جوری این ارور رفع کنم؟
مرسی