我有以下...使用结构插入到的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));' –