bool
- это type
, используемое для создания логической переменной, то есть такой, которая будет достаточной для true/false
оценок. Итак, поскольку bool
не функция, она не получает вызывается .
Прототип: bool vote(string name);
указывает, что функция vote()
принимает переменную string
в качестве аргумента, и возвращает bool
значение (true
или false
) по возвращении, где значение, возвращаемое типом bool
, может быть только 1
или 0
. (TRUE
или FALSE
) Это свойство bool
делает возможным утверждение if (!vote(name)){...}
. Эта конструкция использует общий синтаксис ярлык для вызова функции, оценки возвращаемого значения и принятия решения о потоке выполнения в одной строке.
Это также могло быть написано с использованием более подробного синтаксиса:
bool result = false; //'result' is created and initialized to false
result = vote(name);//function vote() is called, and assigns its return value to result.
if(result == false)
{
printf("Invalid vote.\n");
}
, где bool
переменной результат присваивается возвращаемое значение функции vote()
. Подразумевается также, что если возвращаемое значение vote()
было true
, тогда оператор сравнения (result == false)
завершился бы ошибкой и пропустил бы сообщение об ошибке.