Trong C++, khai báo một biến nhiều lần sẽ hiển thị lỗi trong quá trình biên dịch. Ví dụ:Khai báo hàm và biến nhiều lần trong C++
int x;
int x;
Trong khi tuyên bố một hàm nhiều lần không hiển thị bất kỳ lỗi nào trong quá trình biên dịch. Ví dụ:
int add(int, int);
int add(int, int);
Tại sao sự khác biệt này trong C++?
Chức năng có thể bị quá tải nhưng số lượng và loại thông số phải khác nhau. Các biến không thể bị quá tải. – nischalinn
Nó không quá tải của nó chỉ redeclaring. tuyên bố có thể được thực hiện bất cứ lúc nào. – user1438832
đó không phải là tuyên bố của chức năng, nó là tuyên bố nguyên mẫu, có thể được thực hiện nhiều lần. Đây là sự phân biệt kể từ khi C thực sự. Nguyên mẫu là khai báo không có phần thân, khai báo và thân thể được coi là định nghĩa, chỉ có thể xảy ra một lần – Swift