簡體   English   中英

沒有針對呼叫錯誤和候選錯誤的匹配功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM