所以我有一个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。
但我并没有尝试将其用作值,而是将其用作对函数的调用。
答案 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;
}