Operator Overloading C++; too many parameters for << operation

Operator Overloading C++; too many parameters for << operation

You are overloading << operator as a member function, therefore, the first parameter is implicitly the calling object.

You should either overload it as friend function or as a free function. For example:

overloading as friend function.

friend ostream& operator<<(ostream& out, int x){
     out << names[x] <<   << ages[x] <<endl;
     return out;
}

However, the canonical way is to overload it as free function. You can find very good information from this post: C++ operator overloading

declare operator overloading function as friend.

friend ostream& operator<<(ostream& out, int x)
{
        out << names[x] <<   << ages[x] <<endl;
        return out;
}

Operator Overloading C++; too many parameters for << operation

Leave a Reply

Your email address will not be published.