自作クラスTestをstd::vectorに入れています。

std::sort(vec.begin(),vec.end(),std::less<Test>());

の為にoperator <をTestクラスのメンバに書きましたが
「二項演算子 '<' : 型 'const Test' の左オペランドを扱う演算子が見つかりません 」
とのエラーメッセージが出たんで

クラスの外に定義したら問題なく動作しました。

が、なぜクラスのメンバではダメなのでしょうか?