Salut suppose que je classe A:surcharge ostream pour toute fonction qui retourne un vecteur
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;
}
};
et certains autres où j'ai surchargé ostream de 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;
}
lorsque je tente à
A<int> obj;
cout<<obj.get_v; // gives soo many errors
mais quand je fais
A<int> obj;
vector<int> v= obj.get_v;
cout<<v; // it works fine
Je comprends que quelque chose ne va pas avec la surcharge d'ostream ou je pourrais avoir besoin d'une autre technique de surcharge pour quelqu'un qui pourrait m'aider avec ça? Merci d'avance
c'est parfait merci beaucoup! –
En plus de ce que dit James, pour les deux exemples, il serait utile que vous appeliez la fonction. Vous faites juste référence à cela. Votre surcharge est pour un vecteur, pas pour une fonction renvoyant un vecteur. Cheers & hth., –
@Alf: Ah, bonne prise. –