小心使用单词原型。 C++函数原型是一种声明,通常发生在main()之前的文件顶部或模块的头文件中(可能前者在您的情况下)。它看起来像这样:
bool vowelOrNot(char);
你有什么是实现,但你有不正确的语法。 “或”不是C++中的关键字。使用“||”。另外,“==”是等于比较运算符而不是“=”。我建议至少阅读以下文档:http://www.cplusplus.com/doc/tutorial/control/。
此外,我注意到你的函数返回一个布尔值,但是你打印每个布尔值的单词而不是返回它。如果您需要打印这些单词,则应根据函数的返回值在别处处理。
我推荐的解决方案如下:
#include <string>
#include <cctype>
using namespace std;
bool vowelOrNot(char);
const string VOWELS = "aeiou";
int main
{
//some code that uses vowelOrNot, perhaps printing true and false
}
bool vowelOrNot(char c)
{
return VOWELS.find(tolower(c)) != string::npos;
}
最后,我建议重命名功能is_vowel()或类似的东西更加清晰和简洁的有关功能的目的。
希望这会有所帮助!
你想要一个答案,就好像这是伪代码,或者如果这是C++? – Drax 2014-10-27 16:02:36
这不是有效的C++。 '或'不是一个关键字(查看'||'),并且不使用'='测试相等性(查看'==')。另外,你的函数假设返回一个'bool',但你不返回任何东西。 – Sean 2014-10-27 16:03:22
我会为此使用switch语句。 – 2014-10-27 16:04:04