我是C ++的新手。我正在尝试根据cin中选择的数字将字符串分配给一个月。
这是我在函数中的代码。
cout << "Enter your birth month: ";
cin >> mm; //Birth Month//
int mm;
std::string month;
if(mm == 5 || mm == 05){
std::string month = "May";
}
// If month is equal to 5 or 05, set string variable month to May
cout << "You were born in the month of " << month << endl;
如果mm等于5,我如何将变量“ month”分配给“ may”?
最佳答案
您的字符串变量实际上被if
块作用域中的另一个声明遮盖了
if(mm == 5 || mm == 05) {
std::string month = "May"; // That value is gone after the `}`
}
你可能想写
if(mm == 5) {
month = "May"; // Note the type declaration is omitted here
}
另请注意,为什么我在上面的示例中省略了
mm == 05
是因为if(mm == 5 || mm == 05)
是错的。第二个比较表达式实际上与八进制整数文字进行比较,您当然不想这样做。
if(mm == 5)
足够了。
关于c++ - C++在if语句中分配字符串变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27969508/