C++ 通过比较字符设置字符串时出现问题

C++ 通过比较字符设置字符串时出现问题,c++,c++11,C++,C++11,我试图从用户那里获取char输入,然后根据键入的char设置一个字符串。我做错了什么 #include <iostream> #include <string> using namespace std; int main() { char direction; string printDirection; cout << "Inbound or Outbound? (I or O)" << endl; cin &

我试图从用户那里获取
char
输入,然后根据键入的char设置一个字符串。我做错了什么

#include <iostream>
#include <string>
using namespace std;

int main()
{
    char direction;
    string printDirection;

    cout << "Inbound or Outbound? (I or O)" << endl;
    cin >> direction;
    if (direction == 'o' || 'O'){
        printDirection = "Outbound";
    }
    else if(direction == 'i' || 'I'){
        printDirection = "Inbound";
    }
    else{
        cout << "Error";
        return 1;
    }
    printDirection;

    return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
煤焦方向;
字符串打印方向;
cout方向;
如果(方向='o'| |'o'){
printDirection=“出站”;
}
else if(方向='i'| |'i'){
printDirection=“入站”;
}
否则{
库特
应该是

if (direction == 'o' || direction == 'O')

在另一个
if
语句中也是一样。

我不知道这方面有一个规范的dup,而且似乎表明不幸的是没有。可能是@SilvioMayolo的重复,添加dup,
printDirection;
也没有任何作用。OP可能打算使用
std::cout
if (direction == 'o' || direction == 'O')