Lỗi: too many arguments to function int input()

#include <iostream>

int input()
{
    int k;
    std::cin >> k;
    return k;
}
int TongUocChung(int a, int b)
{
    int sum = 0;
    for (int i = 1; i <= std::min(a, b); i++)
    {
        if (a % i == 0 && b % i == 0)
            sum += i;
    }
    return sum;
}

int main()
{
    int a, b;
    a = input();
    input(b);
    std::cout << TongUocChung(a, b);
    return 0;
}

Bạn đã dịch thông báo lỗi chưa?
Bạn đã tìm đến những chỗ mà thông báo lỗi nhắc tới chưa (function input) ?

1 Like

dạ em đã dịch rồi ạ
lỗi kêu là quá nhiều biến truyền vào khi gọi hàm input
nhưng em vẫn chưa biết cách sửa như nào ạ

Ở trên khai báo

mà ở dưới bạn lại xài như thế này

có gì đó không ổn phải không :wink:

1 Like

Bạn đã biết lỗi ở chỗ (dòng) nào chưa?

dạ em có thử input(int &k)
thì hiện ra lỗi too few arguments to this function ở đoạn a=input()
em cũng không thể sửa thành a=input(a) do là đề bắt như vậy ạ

dạ em biết là có vấn đề ở input(b) và em có sửa thành int input(int &k) thì có lỗi ở a=input()
em cũng không thể chỉnh sửa thành a=input(a) do đề mặc định để là a=input ạ

1 Like

Nếu đề không cho sửa hàm main thì bạn phải nạp chồng hàm (function overloading), tức là viết nhiều hàm cùng có một tên nhưng khác tham số đầu vào

2 Likes

Vậy bạn viết hàm input đó để làm gì?

Nhận vào cái gì (param) ?
Thực hiện điều gì (với param nhập vào nếu có) ?
Trả (return) về cái gì?

Hãy xác định bạn muốn gì rồi mới tính tới chuyện viết code

cảm ơn ạ, mình làm được rồi

dạ sao em làm mãi mà vẫn bị v ạ , Anh hướng dẫn em với

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?