c++ setGender方法恢复为默认值
C++ setGender method reverts to default values
我已经编写了下面的代码位。我有一个构造函数,它有五个参数。不幸的是,setGender方法为类的所有实例输出默认的'M',而不是将性别设置为指定的参数。我做错了什么?任何建议都将非常感激。谢谢你。
DateProfile::DateProfile(char gdr,
char searchGdr, int romanceScale, int financeScale, string theName)
bool DateProfile::setGender(char gdr)
{
if (gdr != 'M' || gdr != 'F')
return false;
gender = gdr;
return true;
}
if (gdr != 'M' || gdr != 'F')
是总是为真,无论输入。如果你通过了'M'
,表达式的第二部分为真。如果传递的是其他内容,则表达式的第一部分为真。
你想写的是if (gdr != 'M' && gdr != 'F')
。
提高编译器的警告级别可能有助于您发现错误。大多数编译器都会警告表达式总是求值为单个值,或者至少警告它后面的不可达代码。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 具有默认值的引用获取函数
- 当给定默认值时,为什么此模板参数推导失败
- 从具有默认值的部分指定模板类继承时发生SWIG错误,具有不带默认值的正向声明
- 格式化浮点值:返回默认值
- 如何将数组部分初始化为某个默认值?
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- 创建一个包含 c++ 默认值的环境文件
- C++(和 ROS) - 包含与前向声明引用,设置默认值和类型定义
- Makefile g++ 使用命令行中的 -D 变量进行编译,默认值
- Switch 语句(字符串)一直选择默认值,除非其为零
- 如何使用默认值将枚举声明为 extern
- 如何在提升程序选项中设置矢量<矢量>的默认值<string>
- 如何使用默认值为构造函数中的枚举赋值?
- 变量始终在函数中重置为默认值
- 如何在C++中提供模板化函数作为另一个函数的参数,默认值?
- 函数不返回默认值
- 具有公共范围与专用范围的默认值的C++的不同行为
- 在 c++ 中,如果我创建一个接受一个具有默认值的参数的构造函数 - 它会用作默认(空)构造函数吗?
- c++ setGender方法恢复为默认值