Out of string range ошибка

Out of string range ошибка

У меня есть этот код:

Когда в строке две буквы, я должен увеличить переменную wynik ,
Я не знаю почему, но запускаю этот код на этом примере:

причины std::out_of_range ошибка на string::at в ряду if(wiersze[i].at(j) == wiersze[i].at(j+1))wynik++; ,

Я попытался отладить и добавил две строки в цикле, чтобы увидеть, что происходит. Результаты:

2 3

Пожалуйста, посмотрите на две последние строки — это показывает, что следующей строки не существует! Я, конечно, пытался искать «глупые» ошибки и небольшие отладки, но без какого-либо результата, кроме этого, вы можете увидеть выше. Пожалуйста, помогите мне в моем случае.

Решение

Прежде всего, вы НЕ МОЖЕТЕ выделять память для массива, как вы это сделали. В wiersze[n] переменная n должна быть известна во время компиляции, но здесь это не так. Вы должны инициализировать массив динамически:

Пытаюсь сделать криптовальщик. Суть его заключается в том чтобы зашифровать слово по шифру Цезаря. Знаю что есть множество библиотек для этого дела, но я попытался сам.

Вопрос в том, в чем моя ошибка?

Но, при запуске кода, выдаёт такую ошибку на строчке с cc = alphabet[bb+2] :

Ошибка появляется в MessageBox после появления консоли.
Сама ошибка:
string subscript out of range
При дебаге кидает в xstring
Ошибка появилась сразу после написания функции myOBF.
Ошибка пропадает если из цикла for убрать все if и else if 🙁

Читайте также:  Huawei watch classic инструкция
Ссылка на основную публикацию
Adblock detector