Мой код выглядит следующим образом:C++ вставить в структуры
struct d
{
char name[5];
};
vector<d> my_d;
my_d.resize(3);
strcpy(my_d[0].name, "mike");
strcpy(my_d[1].name, "joe");
//how to insert "anna" between "mike" and "joe"
my_d.insert(my_d.begin()+1, "anna");//doesn't work???
Я пытаюсь вставить элемент между элементами, как показано выше. Но компилятор отказывается компилировать, No instance of overloaded function maches the agreement list.
.
Почему вы используете массивы 'char' с фиксированной длиной и' strcpy', а не 'std :: string'? –
Какую ошибку вы получаете от компилятора? –
Но ответ на вашу проблему: 'insert' ожидает, что вы дадите ему объект соответствующего типа. Соответствующий тип здесь - 'd'. '' anna "' не является 'd'. –