在此范围C ++中未声明“TRUE”

时间:2015-07-10 11:22:35

标签: c++

所以我有这个简单的函数,它假设返回true或false。 True仅在2%的时间内返回,并且每隔一段时间返回false。但是,每当我尝试编译完整代码时,我都会收到错误消息;

  

'TRUE'未在此范围内声明C ++

我知道我可以使用int代替bool,只使用1代表true,0代表false,但我想弄明白为什么会赢“工作。有什么帮助吗?

这是我的功能:

bool Bunny::determineMutant()
{
    int rand_num = rand() % 100 + 1; //random num 1-100
    if(rand_num == 1 || rand_num == 2) return TRUE;
    else return FALSE;
}

3 个答案:

答案 0 :(得分:5)

TRUEFALSE通常是associated with the Win32 type BOOL,也可以是整数10的宏。由于TRUE的定义不可用,因此存在实际错误。

对于built in C++ type bool使用truefalse。我认为这应该是首选解决方案。

作为旁注,代码可以简化为根据if()中已经为bool的条件返回;

return (rand_num == 1 || rand_num == 2);

答案 1 :(得分:1)

C ++中的关键字是小写truefalse

全部大写TRUEFALSE通常分别是VC ++中10的预处理器宏,用于返回type BOOL

答案 2 :(得分:1)

这很简单。没有TRUEFALSE,但它们被称为truefalse