首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ setGender方法恢复为默认值。

C++ setGender方法恢复为默认值。
EN

Stack Overflow用户
提问于 2015-05-31 21:51:46
回答 1查看 54关注 0票数 1

我已经写了下面的代码。我有一个构造函数,它包含五个参数。不幸的是,setGender方法为类的所有实例发出默认的'M‘,而不是将性别设置为指定的参数。我做错什么了?如有任何建议,将不胜感激。谢谢。

代码语言:javascript
复制
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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-31 21:57:18

if (gdr != 'M' || gdr != 'F'),无论输入如何,始终是 true。如果要传递'M',则表达式的第二部分为真。如果要传递其他内容,则表达式的第一部分变为真。

你想写的是if (gdr != 'M' && gdr != 'F')

增加编译器的警告级别可能会帮助您发现错误。大多数编译器会对总是计算为单个值的表达式发出警告,或者至少警告后面无法到达的代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30563083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档