У меня есть оператор if else, но кажется, что он выполняет код в if, и он должен выполнять код в else, но я не вижу причины, по которой мой код находится ниже.
Если вы посмотритев последнем операторе if, где он проверяет, отображаются ли эти символы, если вы заметили, что 0 - 3 D, W, O, P не находятся в ячейках 0 - 3, но он все еще выполняет оператор print, может кто-нибудь сказать мне, почему?
будет рада за любую помощь
order.push_back("V"); //V
order.push_back("I");//F
order.push_back("F");//I
order.push_back("N");//O
order.push_back("D");//O
order.push_back("W");//O
order.push_back("O");//O
order.push_back("P");//O
order.push_back("Y");//O
order.push_back("C");//O
order.push_back("L");//O
order.push_back("E");//O
order.push_back("R");//O
order.push_back("X");//O
if(order.front() == "V")
{
it = find(order.begin(), order.end(), "I");
++it;
std::string o = *it;
DCS_LOG_DEBUG("NEXT 0 " << o);
DCS_LOG_DEBUG("NEXT " << *it);
int i = find(order.begin(), order.end(), "N") - order.begin();
int pos = i;
DCS_LOG_DEBUG("POS " << pos);
for(int i1 = 0; i1 < pos; i1++)
{
DCS_LOG_DEBUG("IN LINE " << order[i1]);
if(order[i1] == "D" || "W" || "O" || "P")
{
DCS_LOG_DEBUG("It matches one of the above incorrect");
}
else
{
for(pos; pos < order.size(); pos++)
{
DCS_LOG_DEBUG("FOUND AFTER POS INDEX " << order[pos]);
}
}