Оператор сравнения будет вызываться для const-ссылки экземпляра класса, поэтому он должен быть объявлен как функция-член const.
Хорошей практикой также является передача аргумента с помощью const-referenceчем по значению, хотя это не имеет большого значения для вашего простого класса:
bool operator<(const MyData & rhs) const { return m_iData < rhs.m_iData; }
// ^^^^^^^^^^^^^^ ^^^^^
// if you like mandatory
Как правило, настоятельно рекомендуется объявить все функции-члены константами, которые не изменяют вашобъект.Это не только сообщает о вашем намерении и замысле, но также невозможно было бы использовать эти функции для постоянных объектов или ссылок.