Исключение первого шанса в 0x663FCCD2 (msvcp110d.dll)

Я работаю над проектом для школы, но столкнулся с ошибкой.

У меня есть класс под названием схема, которая состоит из другого класса под названием "Token", Схема выглядит так:

class scheme
{
public:
Token * id;
vector <string> Paren;
vector <Token> idList;

scheme();
void addScheme(vector <Token> toAdd);
};

Все идет нормально. Но теперь я нахожусь в функции «addScheme», которая выглядит так:

void scheme::addScheme(vector <Token> toAdd)
{
//Check if scheme is valid
if (isSchemeValid(toAdd) == false)
{
cout << "ERROR!" << endl;
return;
}

vector <Token> ids;

for (int i = 2; i < toAdd.size()-1; i++)
{
ids.push_back(toAdd.at(i));
}*id = toAdd.at(0);
Paren.push_back("(");
Paren.push_back(")");

idList = ids;
}

У меня нет проблем до самой последней части, которая говорит

idList = ids;

почему-то эта строка вызывает ошибку:

«Исключение первого шанса в 0x663FCCD2 (msvcp110d.dll) в CS Proj 2.exe: 0xC0000005: расположение записи нарушения доступа 0x009DD1B8».

Я попытался вручную зациклить его в idList следующим образом:

for (int i=0; i< ids.size(); i++)
{
idList.push_back(ids.at(i));
}

но это бросает эту ошибку:

«Исключение первого шанса в 0x00348255 в CS Proj 2.exe: 0xC0000005: расположение чтения нарушения доступа 0x8B0C4295».

Итак … У меня нет идей. Почему я не могу скопировать вектор id в вектор idList?

Спасибо за вашу помощь!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]