Tôi đang cố gắng viết một hàm đệ quy, nhưng gặp lỗi trong dòng: n + sum (n-1); Trình biên dịch của tôi là tiếng Đức, vì vậy bản dịch kém của thông báo lỗi sẽ là: "giá trị void không bị bỏ qua như được cho là". Cảm ơn vì sự giúp đỡ!Hiểu lỗi trong hàm đệ quy?
void sum (int n)
{
if(n==0)
{
cout << n << endl;
}
else if(n>0)
{
n + sum(n-1);
cout << n << endl;
}
}
int main()
{
sum(3);
return 0;
}
Bạn không thể trở về giá trị từ 'chức năng void' và không thể lấy lại giá trị từ chúng. –
Đó là bởi vì dòng đó không làm gì cả. –
Đó là một bản dịch khá hay, và nó chính xác. Bạn phải bỏ qua (không sử dụng) giá trị trả về của hàm trả về void. – rici