Lỗi local variable ' 'used hoặc c4700

em mới tập dùng hàm void thì gặp lỗi này không biết sửa sao mong mọi người chỉ

#include<iostream>
using namespace std;

void logic(double s, int v, int t) {
	s = v * t;
}
void nhap(int v,int t) {
	cout << "nhap van toc: " << endl;
	cin >> v;
	cout << "nhap thoi gian: " << endl;
	cin >> t;
}
void xuat(double s) {
	cout << "quang duong ban da di la: " << s << endl;

}
int main() {
	double quangduong;
	int vantoc ;
	int tg ;
	nhap(vantoc, tg);
	logic(quangduong,vantoc, tg);
	xuat(quangduong);
	return 0;
}
![image|415x82](upload://2YoXqQcYOUoYo14ASmW5A3PiEFg.png)

Uninitialized = chưa được khởi tạo/gán giá trị ban đầu.

3 Likes

em có gán giá trị 1 và 0 vào nhưng sau khi tính toán thì nó chỉ ra như cái số đã gán ạ

Đó là do bạn đã truyền tham số vào hàm theo kiểu giá trị, biến s, v, t trong hàm logic nhận được giá trị bạn truyền vào qua đối số là quangduong, vantoc, tg, nó xử lý phần tính toán, và huỷ đi sau khi ra khỏi khối lệnh của hàm.

Bạn tham khảo phần hướng dẫn sử dụng hàm cho ra output qua tham số truyền vào theo link này: https://cpp.daynhauhoc.com/7/2-truyen-doi-so-cho-ham-la-gia-tri-hoac-tham-chieu/

Còn về phần bạn nói đã gán giá trị 1 và 0 vào, đó là bạn gán qua standard input chứ không phải là giá trị khởi tạo. Khởi tạo giá trị cho biến được thực hiện ngay tại thời điểm khai báo biến, ví dụ:
int a = 0; // initialize a with value 0

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