Chào các bạn,
Mình đang có một vấn đề cần các bạn giúp đỡ. Các bạn có thể giúp mình viết 1 hàm SUM để chạy được với tất cả các lời gọi hàm ở main kia không? Mình xin cảm ơn các bạn 
Chào các bạn,
Mình đang có một vấn đề cần các bạn giúp đỡ. Các bạn có thể giúp mình viết 1 hàm SUM để chạy được với tất cả các lời gọi hàm ở main kia không? Mình xin cảm ơn các bạn 
Sử dụng Variable arguments.
Nếu là số lượng tham số bất kỳ thì tham số đầu tiên bắt buộc phải là số lượng các tham số còn lại.
Ví dụ cho bạn:
// n là số lượng muốn
int MySum(int n, ...)
{
int total = 0;
va_list value;
va_start(value, n);
for (int i = 0; i < n; i++)
{
// lấy tham số tiếp theo, con trỏ value tự động tịnh tiến lên sizeof(int) bước
total += va_arg(value, int);
}
va_end(value);
return total;
}
Còn để giống y như bạn (không cần số n như trên) thì dùng Variadic template (Nó dùng đệ quy nên mình chả thích dùng)
Ví dụ (Mình lấy từ đây):
// có thể dùng được cho kiểu dữ liệu bất kỳ miễn là kiểu đó có overload của toán tử '+'
template<typename T>
T MySum(T value)
{
return value;
}
template<typename T, typename... Args>
T MySum(T firstValue, Args... args)
{
return firstValue + MySum(args...);
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?