Я пытался решить проблему кодирования, которая находится в поиске here.Математически те же утверждения условия, разные результаты
Я попробовал эти два определения для моего цикла For
for(i=0;i+(num*len)-1<A.size();i++)
и
for(i=0;i<A.size()-(num*len)+1;i++)
Позже в коде, я использую функцию String.substr для получения подстроки. По какой-то причине 1-я форма работает нормально, а вторая вызывает следующую ошибку.
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
Может кто-нибудь объяснить мне, почему это происходит? Я использую C++ 11 с GCC 4.8.
Вы должны выполнить некоторую отладку. Каково значение 'i', когда это происходит? –
'for (i = 0; i + (num * len) -1
DimChtz
'num' и' len' являются целыми числами. 'A' - строка. – naman1901