を実行しない場合は、私は上記のコードで一つelse文は以下
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);
}
とのトラブルを抱えていますセクションで、私の他に、if文は全く実行していないようです。私がしようとしているのは、modified.substr(1)がマップに見つからない場合です。それ以外の場合は最初のエラーを出力します(カラー文字列はマップにありますが、ベクトルの最後のものと同じではありません)。 "else"エラー。しかし、私の場合は常に印刷されています。 modified.substr(1)の理由は、変更された(この場合)a /で始まるからです。あなたのコードvec
で
私たちにもっとコードを与えてください - 'vec'、' modified'(そしておそらく他のもの)は空です。 –