Существует следующий класс:
class htmlAttribute
{
private:
std::string name;
std::string value;
std::string error_message;
std::vector<std::string> names_database;
std::map<std::string, std::string> values_database;
bool check_value();
bool check_name();
public:
htmlAttribute(std::string _name, const std::initializer_list<std::pair<std::string, std::string>> & val_db, std::string err, std::string val)
: name(_name), values_database(val_db.begin(), val_db.end()), error_message(err), value(val)
{
}
htmlAttribute(std::string _name, const std::map<std::string, std::string> & val_db, std::string err, std::string val)
: name(_name), values_database(val_db), error_message(err), value(val)
{
}
htmlAttribute(const htmlAttribute & other) {}
void CheckState();
const std::string GetName() const { return (name); }
const std::string GetValue() const { return (value); }
};
В него пытаюсь передать список инициализации, объявленный следующим образом:
#define ATTR_DATABASE_HTML5 \
{ \
{ "accesskey" , ATTR_ACCESS_KEY_VALS }, \
{ "class" , ATTR_CLASS_VALS }, \
{ "contenteditable" , ATTR_CONTENTEDITABLE_VALS }, \
} // В этом макросе очень много определений, сократил. Проверил все, нигде нет пустых define и чего-то подобного
Макросы, стоящие справа в списке инициализации объявлены по следующему примеру:
#define ATTR_ACCESS_KEY_VALS ("[0-9a-z]")
// Также определено очень много подобных макросов. Все проверил, нигде нет пустых define, которые могли бы вызвать ошибку
Конструктор пытаюсь вызвать в следующей функции:
void * GenNewAttr(std::string attr) // returns pointer to htmlAttribute
{
htmlAttribute instance(attr, ATTR_DATABASE_HTML5, "", "");
attributes.push_back(instance);
return (&(*(--attributes.end())));
}
Но получаю следующую ошибку:
Error C2664 'htmlAttribute::htmlAttribute(const htmlAttribute &)': cannot convert argument 2 from 'initializer list' to 'const std::initializer_list<std::pair<std::string,std::string>> &'
Исходя из гугления пытался принимать initializer_list в конструктор по значению - не привело к успеху. Проверил уже все что можно, не могу понять в чем ошибся.
Полный код проекта доступен здесь: https://github.com/lazmible/Course_work_console
Определение класса htmlAttribute: Attribute.h
Определение описанных макросов: html_attr_val_db.h
Определение функции, в которой происходит ошибка: utils.cpp
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу нигде найти, как сделать,чтобы можно было вводить время через ":"К примеру, 09:45
Обьясните подключение библиотеки boost в xcode
Всем привет! Я пытаюсь с помощью winapi создать vpn подключение, соответственно сначала я его настраиваю а потом с помощью RasDial пытаюсь запустить,...