如果参数调用bool函数

时间:2014-03-18 17:15:38

标签: c++ if-statement g++ boolean

所以我有一个C ++ bool函数,我写的看起来像这样:

bool EligibileForDiscount(const char CompanyUsed, const char CompanySubscribed)
{

bool eligible = false;
    if (CompanyUsed==CompanySubscribed)
            eligible = true;

 return (eligible);

 }

现在在我的main()中,此函数被调用为if语句的唯一参数:

   if (EligibleForDiscount(CompanyUsed, CompanySubscribed))
       {
           ApplyDiscount(Cost, CompanySubscribed);
           cout << "\nAfter your discount, your rental is: $"
           << fixed << showpoint << setprecision(2) << Cost << ".\n";
       }

主要功能由我的老师编写,我们编写了其他功能,因此if语句不应该被更改。

所以我理解if语句试图完成什么,基本上说&#34; if(true)这样做...&#34;因为EligibleForDiscount将返回一个布尔值。

但是,g ++在if语句中给出了一个错误,告诉我没有在此范围内声明EligibleForDiscount。

但我并没有尝试将其用作值,而是将其用作对函数的调用。

3 个答案:

答案 0 :(得分:1)

可能是因为两个原因:

调用时你拼错了函数名:if(EligibleForDiscount(CompanyUsed,CompanySubscribed))应该写成你的函数实现,即EligibileForDiscount。

如果您忘记声明函数的原型,这可能会发生,这是您将要使用该函数的程序的指示器。在使用函数bool EligibileForDiscount(const char,const char)之前,您只需要在某处编写

其中一个应该有效!

答案 1 :(得分:0)

因为:EligibileForDiscount!=带有额外“i”的EligibleForDiscount,只是一个错字。

答案 2 :(得分:0)

P.S。你可以这样写EligibleForDiscount

bool EligibleForDiscount(const char CompanyUsed, const char CompanySubscribed)
{
 return CompanyUsed==CompanySubscribed;
}