Будьте осторожны с использованием прототипа слова. Прототипом функции 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
Это неправда C++. 'или' не является ключевым словом (смотрите '||'), и вы не проверяете равенство, используя '=' (смотрите '=='). Кроме того, ваша функция должна возвращать 'bool', но вы ничего не возвращаете. – Sean
Я бы использовал для этого инструкцию switch. –