Hàm trong C++ phải khai báo kiểu trả về: int, double, string... hoặc void nếu không trả về gì.
#include <iostream>
using namespace std;
// Hàm trả về int
int tinhTong(int a, int b) {
return a + b;
}
// Hàm không trả về (void)
void chao(string ten) {
cout << "Xin chào " << ten << "!" << endl;
}
// Kiểm tra số nguyên tố
bool laSoNguyenTo(int n) {
if (n < 2) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
int main() {
chao("Nam");
cout << tinhTong(3, 5) << endl; // 8
for (int i = 1; i < 20; i++) {
if (laSoNguyenTo(i)) cout << i << " ";
}
// 2 3 5 7 11 13 17 19
return 0;
}Hàm phải được định nghĩa (hoặc khai báo prototype) TRƯỚC khi gọi trong main(), vì C++ biên dịch từ trên xuống.
?Hàm không trả về giá trị thì khai báo kiểu gì?