View Single Post
Old 17-12-2009, 08:35 AM   #37
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi npbaoduy View Post
Em viết hàm như sau:
Code:
float Euclidean_distance(fractional x[13], fractional y[13])
{
	float d;
	unsigned int l;
	d=0;
	for (l=0;l<13;l++)
	{
		d+=(x[l]-y[l])*(x[l]-y[l]);
	}
	d=sqrt(d);
	return d;
}
khi gọi hàm để sử dụng, ví dụ
d= Euclidean_distance(a[13],b[13]) chẳng hạn thì báo 2 warning là: "passing argument 1 of 'Euclidean_distance' makes pointer from integer without a cast" và "passing argument 2 of 'Euclidean_distance' makes pointer from integer without a cast". Chương trình vẫn biên dịch được, nhưng khi đến đoạn gọi hàm đó thì bị reset.
Ai có kinh nghiệm xin chỉ giúp em được ko?
Code:
float Euclidean_distance(fractional x[13], fractional y[13])
Mẫu hàm này có nghĩa là bạn phải truyền 2 đối số cho hàm là 2 con trỏ kiểu fractional, 2 con trỏ này trỏ tới mảng kiểu fractional kích thước 13 phần tử.
Code:
d= Euclidean_distance(a[13],b[13])
Khi gọi như trên là bạn đang truyền 2 đối số kiểu fractional.
Bạn phải gọi đúng như sau:
Code:
d= Euclidean_distance(a, b)
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn