Предполагается, что вы определяете, как объект Test можно сравнить с другим объектом типа Test, но в своем коде вы не определяете, как, только что "a" - что бы это ни было, меньше, чем другой объект.
class Test
{
public:
Test(int myscore) { score = myscore; }
bool operator<(const Test &t);
int score;
}
bool Test::operator<(const Test &t)
{
// Is less than if score is smaller
if(score < t.score)
return true;
else
return false;
}
Тогда в вашей программе
// ...
Test test1(4);
Test test2(5);
if(test1 < test2) std::cout << "4 is less than 5 by comparing objects\n";
else std::cout << "Failed!\n";