Вместо cout должен быть return, который будет что-то возвращать, например -1. При вызове функции проверяй, если результат -1, то выводи сообщение об ошибке, если 0 либо больше, то все хорошо. Я бы сделал так либо вообще бросил бы исключение, либо перемножал бы даже отрицательные, возвращая значение по модулю.
int square(int x, int y) {
if (x < 0 || y < 0) {
return -1;
}
else
{
return x * y;
}
}
int main(void)
{
int result = square(-2, 5);
if (result == -1) {
cout << "некорректный ввод \n";
}
else {
count << result;
}
}