我有以下...使用結構插入到的std ::地圖失敗,構造錯誤
struct MessageLetter{
char letter;
int count;
MessageLetter(char letter, int freq)
: letter(letter), count(freq)
{}
};
...
std::map<char, MessageLetter> lList;
...
MessageLetter m = MessageLetter(letter,1);
lList[letter] = m;
當我嘗試編譯我得到...
no matching constructor for initialization of 'MessageLetter'
::new ((void*)__p) _Tp();
總得有東西容易任何人有想法?
我不確定您的emplace示例是否正確。我會期望'list.emplace(std :: piecewise_construct,std :: forward_as_tuple(letter),std :: forward_as_tuple(letter,1));' –