推 legendmtg:不能動operator < 就自己寫個compare function/functor 10/04 02:31
→ legendmtg:吧... 10/04 02:31
推 legnaleurc:std::less ... 10/04 02:37
→ BlackMatrix:L大, 那個LessThanByLat等於Compare Functor, 可是 10/04 02:45
→ BlackMatrix:我好像寫錯了... 10/04 02:45
→ BlackMatrix:Compare Functor是教授規定要做的 = = 10/04 02:45
→ BlackMatrix:謝謝~~ 10/04 02:46
→ legnaleurc:其實重點是 private member ... 10/04 03:00
→ BlackMatrix:那該怎麼辦, 寫在Heap裡面會有用嗎? 10/04 03:55
→ BlackMatrix:還是說繼續寫在Static可是用getLat之類的? 10/04 03:57
→ BlackMatrix:int getLat {return lat};之類的 10/04 03:59
推 yoco315:getLat() + compare function 正解.. ^^ 10/05 00:17
現在我完全改進我的Functor, 變成
template <class C>
class LessThanByLat
{
public:
bool operator() (C lhs, C rhs)
{
return (lhs.getLat()<rhs.getLat());
}
};
跟
sort (GNF_vector.begin(), GNF_vector.end(), LessThanByLat<bool>());
我想要我的vector裡面以LAT這個數字以大到小排列, 目前我這樣寫, 看看該怎麼辦
成功
如果有想法的拜託請給點提示~~~~ (雖然我知道我上面那串Code寫錯了)
※ 編輯: BlackMatrix 來自: 71.183.68.195 (10/05 04:55)
我解決這個問題了
class LessThanByLat
{
public:
bool operator() (GNF& lhs,GNF& rhs)
{
return (lhs.getLat()<rhs.getLat());
}
};
sort (GNF_vector.begin(), GNF_vector.end(), LessThanByLat());
謝謝各位的幫助
※ 編輯: BlackMatrix 來自: 71.183.68.195 (10/05 07:38)