PDA

View Full Version : Vector



asrin|\|
شنبه 19 تیر 1389, 19:38 عصر
سلام
تامع من قراره دو تا vector بگيره و عملياتي روي آنها انجام بده .به اين صورت :

ADD(Result,result);

ميخوام تغييرات انجام شده روي Result بعد از فراخواني Add باقي بمونه .خودم مي خواستم مشكل رو با return كردن يك vector حل كنم ولي exeption مي زنه...
فكر كنم يكي ديگه از راه حل ها استفاده از overloadingباشد . من =را به صورت زير overload كردم:


vector <int > std:: vector <int >::operator = ( vector <int> y )
{
vector <int>::iterator p;
p= y. begin();
while(p!= y.end ())
{
this ->push_back( *p );
p++;
}
return *this;
}

ولي error زير را ميدهد!!

< overloaded member function not found in 'std::vector<_Ty

PC2st
شنبه 19 تیر 1389, 20:33 عصر
از آرگومان‌های ارجاعی استفاده کنید:

ADD (Type1& Result, const Type2& result);
با فرض اینکه نوع Result برابر Type1 و نوع result برای Type2 است.

asrin|\|
یک شنبه 20 تیر 1389, 15:36 عصر
بله اين راه جواب ميده ولي مشكل كد من كه از operator overloading استفاده كردم چيه؟؟ آيا مي شه operator هاي كلاس vector را overload كرد؟؟