В C++ тип функции означает, какого типа будет значение, возвращаемое функцией. Но если вместо обычного типа перед именем функции стоит спецификатор void
, то с ним общее правило не работает. Это спецификатор означает, что у функции нет возвращаемого значения. Как следствие, оператор return, отвечающий за возвращаемое значение, убирается. Рассмотрим пример:
void kvad1 (int a, int& b)
{
b = a * a;
}
int kvad2 ( int a )
{
return a * a:
}
Обе функции выполняют возведение в квадрат числа, но функция kvad1 принимает b и изменяет его, а kvad2 с помощью оператора return вернет значение в конструкцию вызова данной функции, значение которой присвоят отдельной переменной.
Спецификатор void выполняет и другие функции. Например, в случае декларатора функции, если void стоит на месте параметров функции, это означает, что функция не имеет параметров, при этом имея прототип.
Top comments (0)