Вставка строки в строковый вектор
Вот код, который я пытаюсь скомпилировать. Я получаю эту ошибку:
нет соответствующей функции для вызова ‘std:: vector< std:: basic_string< char> >:: insert(int, const char [2])’
на этой линии
dataDictionaryEntryFieldsId. insert(2,"B");
Что я делаю не так?
#include "main.hpp" #include "vector" using namespace std; int test(void) { vector<string>dataDictionaryEntryFieldsId; dataDictionaryEntryFieldsId.push_back("A"); dataDictionaryEntryFieldsId.push_back("C"); dataDictionaryEntryFieldsId.insert(2,"B"); }
Что я уже пробовал:
Я попробовал использовать строковую переменную вместо "B", и это тоже не сработало
enhzflep
Первый параметр для insert
на самом деле это итератор, а не целое число. Поэтому, если вы хотите добавить "B" после других 2 элементов, вы можете вместо этого использовать:dataDictionaryEntryFieldsId.insert(dataDictionaryEntryFieldsId.end(),"B");
[no name]
Этого было бы достаточно для ответа с небольшой детализацией.