Ниже приведен раздел, в котором у меня возникли проблемы с
if(transition == *(vec.end()-1)) { //vec contains the ASCI code
vec.pop_back();
--vec_index;
result.append(vec[vec_index]);
} else if(colors.find(modified.substr(1)) == colors.end()) {
cout << result << endl;
cout << "\033[0;37m";
cerr << "**ERROR: INVALID CLOSING COLOR TAG ON LINE: "
//cerr << "**ERROR: OVERLAPPING CLOSING COLOR TAG ON LINE: "
<< nlines << endl;
exit(0);
} else {
cout << result << endl;
cout << "\033[0;37m";
cerr << "**ERROR: INVALID CLOSING COLOR TAG ON LINE: "
//cerr << "**ERROR: OVERLAPPING CLOSING COLOR TAG ON LINE: "
<< nlines << endl;
exit(0);
}
. В приведенном выше коде мое выражение else-if, похоже, не выполняется вообще.То, что я пытаюсь сделать, это то, что в случае, если на карте не найдено ни одной переменной.substr (1), так это печатать первую ошибку, иначе (цветная строка находится на карте, но не совпадает с последней в векторе).ошибка "еще".Тем не менее, мой другой случай всегда печатает.Причина, по которой он модифицирован.substr (1), заключается в том, что изменение (в данном случае) начинается с /.