我觉得我有一个大脑放屁。我想在给定的时间只允许2个布尔值中的一个为真(但两者都可以是假的,因此不完全相反),因此所有可能的状态应该是:只有当一个布尔值设置为true时,才能将另一个布尔值设置为另一个布尔值。
- bool1 = false; bool2 = false;
- bool1 = true; bool2 = false;
- bool1 = false; bool2 = true;
我试过几件事情,包括这个简单的声明:
if(bool1 == true)
bool2 = false;
if(bool2 == true)
bool1 = false;
但是,这并不工作,因为它不允许BOOL2永远= true如果BOOL1 =正确,因为第一语句首先被读取(设置bool2 = false)。如果一个是真的,另一个是被选中的,我会希望他们切换。任何建议?
谢谢!
它不清楚,你还没说,这是允许的,无论是真实的。什么意思_“另一种选择” _ –
@TimSchmelter他在状态列表 –
没有你为什么不干脆让客户端的值设置为为所欲为,那么错误,如果'BOOL1 && bool2'?你如何决定*两个值中的哪一个应该是'false'否则呢?案件是对称的。除非必须,否则不要破坏对称性。 –