Привет, предположим, что у меня есть класс A:
using namespace std;
template <class T>
class A{
private:
vector<T> my_V;
public:
// assume initializations etc are done
inline vector<T> get_v()
{
return my_v;
}
};
и кое-где еще я перегружен ostream от std :: vector
template <class T>
ostream & operator<<(ostream& out, vector<T> &vec)
{
CUI size=vec.size();
for (int i = 0; i < size; i++)
out << vec.at(i) << " ";
if(size>0)out << endl;
return out;
}
когда я пытаюсь
A<int> obj;
cout<<obj.get_v; // gives soo many errors
но когда я делаю
A<int> obj;
vector<int> v= obj.get_v;
cout<<v; // it works fine
Я понимаю, что что-то не так с перегрузкой ostream или мне может понадобиться другая техника перегрузки, может кто-нибудь помочь мне с этим? Заранее спасибо