嗨我有問題重載我的結構的運算符用作關鍵。這裏是我的結構我打算作爲一個地圖鍵使用,基本上它有2個字符數組:重載運算符結構爲映射關鍵
struct FConfig
{
char product[3];
char exchange[4];
bool operator < (const FConfig &rhs) const
{
return (strcmp(product, rhs.product) < 0 ||
strcmp(exchange, rhs.exchange <0));
}
};
我的比較,只要產品的一個或交換不等於RHS的,那麼關鍵就是視爲獨特我使用這個,並在運行期間得到「無效的運算符<」。我在創建密鑰方面完全陌生,所以在覆蓋<運營商時,我仍然在理解邏輯時遇到一些問題。感謝任何幫助,謝謝!
可能的重複:http://stackoverflow.com/questions/8532224/invalid-operator-while-sorting-stdlist – Spook 2013-04-09 04:21:50
如果你爲你的類提供一個<操作符,它必須像使用'std'例程時的行爲一樣。我想,你的運算符不是可傳遞的 - 你可以找到三個FConfig值,例如A Spook 2013-04-09 04:24:10