這是包含重載函數運算符類:如何使用另一個類的重載函數操作符(operator())?
template < typename KeyType=int >
class Less {
public:
bool operator()(const KeyType &a, const KeyType &b) const { return a < b; }
};
我如何使用它?該類在包含堆ADT的類規範的頭文件中指定。我正在嘗試在我的堆ADT的成員函數中使用它,並且不確定語法。我認爲這將是如下:
if(Less<KeyType>::(param1, param2)){
...
但是,編譯器給我一個錯誤:expected unqualified-id before '(' token
它的工作是這樣的:
if(Less<KeyType>::operator()(param1, param2)){
...
但必須有使用方法它以另一種方式不那麼混亂。如果我想讓它看起來像這樣,我不會首先超載一個操作員,並且會讓它成爲一個典型的功能。
我已經試着在這裏問一些關於這個問題的研究之前,但有點難以找到這個具體的東西的答案。我的搜索引導我轉到不同的主題。
試試這個:'少()(參數1,參數2)'。 –
Deduplicator
工作,謝謝! – Bobazonski