[英]no matching function for call error & candidates error
我有這個課:
模板
class MtmMap {
private:
ValueType defaultValue;
KeyType defaultKey;
Node* head;
int amount;
public:
MtmMap(KeyType defaultKey, ValueType defaultValue) :
defaultKey(defaultKey), defaultValue(defaultValue), head(NULL), amount(0) {
} ;
....... more code.. };
當我想創建一個新類時:
MtmMap<int, int> m ;
我有很多錯誤:
- candidates are:
- no matching function for call to 'MtmMap<int,int>::MtmMap()'
*我有編輯problims。 。 。 抱歉
誰能幫我?
您沒有沒有參數的構造函數。 您只有帶有2個參數的構造函數。 您可以聲明不帶參數的構造函數,或者應該使用帶有2個參數的構造函數構造對象。
MtmMap m((KeyType()), (ValueType()));
您為其提供模板參數,即與構造函數參數不同的模板參數。 在您的情況下,模板參數是類型,在構造函數中,您應該發送KeyType
類型的值和ValueType
類型的第二個值(在您的情況下為int)。 像這樣
MtmMap<int, int> mmap(1, 2); // default key == 1, default value == 2
MtmMap(KeyType defaultKey, ValueType defaultValue)
MtmMap
具有一個構造函數,該構造函數需要兩個參數。 你沒有通過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.