Your compareTo
declaration has const
while definition has no const, which means they have definition has different signature with declaration:
bool& compareTo(const String& cmp1);
^^^
bool& String::compareTo(string cmp2)
{
};
BTW, why does your compareTo
return bool&
?
Also should avoid using namespace std;
in any header files. see why-is-using-namespace-std-considered-a-bad-practice-in-c