Здравствуйте, друзья! У меня такой вопрос: есть класс в нем я определил вектор с типом string. И я вызываю этот класс с этим массивом и хочу туда передать имя файла, но выводит ошибку о том что массив вышел из границы (vector substript out of range). Как можно этого избежать? Спасибо, заранее Вот класс:
class resqmobject
{
public:
string title;
string uid;
string description;
vector <float> floatdata;
vector <int> intdata;
vector <SplitReferenses> SRData;
vector <FaultStruct> FData;
vector <coord> CoordData;
vector <float> ZCORN;
vector <string> FileName;
};
А вот так я хочу добавить имя файла в вектор:
for (int i = 0; cursor < arr.size(); i++){
{
string strFileName = ofn.F_Pillars;
ofstream fout(ofn.F_Pillars);
char *c = new char[strFileName.length() + 1];
FPObject.FileName[i].push_back(*c);
}
Брр...
string strFileName = ofn.F_Pillars;
... // Зачем вы тут открываете файл - не знаю, это ваши дела...
FPObject.FileName.push_back(strFileName);
И что вы делаете в цикле, мне тоже непонятно (что за arr - у вас описания нет). Главное - чтобы добавить в вектор строк строку - вызывайте push_back() для этого вектора, передавая ей строку.
не добавляется, выводит ошибку Expression: vector subscript out of range. Как можно от этого избежать и добавить элемент в массив?
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости