Я повторюсь -создание функций открытого интерфейса, которые я хочу, из std::map, пересылка их в атрибут класса.
Как мне указать конструктор, который принимает список инициализаторов в качестве параметра? Я использую map.
Первая попытка использования инициализатора_list
> :< /p>
class IdParentingMap
{
public:
using DataMap = std::map;
using DataMapIt = DataMap::iterator;
using DataMapConstIt = DataMap::const_iterator;
IdParentingMap();
IdParentingMap(std::initializer_list initList);
DataMapConstIt findParentIt(const int id) const;
/** Forwards from std::map **/
std::size_t size() const;
DataMapIt end();
DataMapConstIt end() const;
private:
DataMap data;
};
IdParentingMap::IdParentingMap(initializer_list initList)
: data(initList)
{
}
дает мне (от компилятора):
In constructor 'IdParentingMap::IdParentingMap(std::initializer_list)':
:27:5: error: no matching function for call to 'std:
27 | : data(initList)
| ^~~~~~~~~~~~~~
В файле, включенном из /opt/co
Вторая попытка использования инициализатора_list> initList)
: data(initList)
{
}
дает мне (от компилятора):
In constructor 'IdParentingMap::IdParentingMap(std::initializer_list)':
error: no matching function for call to 'std:
27 | : data(initList)
| ^~~~~~~~~~~~~~
Подробнее здесь: https://stackoverflow.com/questions/786 ... for-stdmap