小心使用單詞原型。 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