Expected identified or '(' before '[' token huffTree[i].c = i

void Begin() {
	for (int i = 0; i < 2304; i++) {
		huffTree[i].c = i;
		huffTree[i].f = 0;
		huffTree[i].used = false;
		huffTree[i].Left = -1;
		huffTree[i].Right = -1;
	}
}

lỗi này là sao nhỉ

Có vẻ code của @Htc ko hiểu được huffTree là gì. Khai báo của huffTree là gì vậy? Có thể show toàn bộ code của file này được không?

typedef struct NODE {
	unsigned char	c;		// ky tu
	int		freq;	// so lan xuat hien
	bool	used;	// danh dau node da xu ly chua
	int		nLeft;	// chi so nut con nam ben trai
	int		nRight;	// chi so nut con nam ben phai
}huffTree[2304];

đây là phần khai báo huffTree

Có lẽ khai báo của bạn bị sai.
bạn thử làm thế này xem.
typedef struct NODE NODE;
struct NODE{
// khai báo ở đây
} huffTree[2043];

1 Like

Không thể khai báo như thế được @Htc.

Thử lại như thế này

typedef struct
{
    unsigned char	c;		// ky tu
    int	freq;	// so lan xuat hien
    int	used;	// danh dau node da xu ly chua
    int	nLeft;	// chi so nut con nam ben trai
    int	nRight;	// chi so nut con nam ben phai
} NODE;

NODE huffTree[2304];

Nhớ sửa:

huffTree[i].f = 0;

Thành

huffTree[i].freq = 0;
if (huffTree[node].nLeft == -1 && huffTree[node].nRight == -1) {	//la nut khong co con
		bangMaBit[node].soBit = nMaBit;
		bangMaBit[node].bits =new char[nMaBit];
		for (int i = 0; i < nMaBit; i++) {
			bangMaBit[node].bits[i] = maBit[i];
		}
		return;
}

đoạn này nữa bạn ơi ở câu bangMaBit[node].bits=new char[nMaBit]; lỗi syntax error before new

có phải là do khai báo sai bangMaBit giống như trên huffTree không?

Một lần nữa:

Cứ post từng đoạn thế này mất thời gian lắm @Htc

Bạn cứ copy một đoạn, Đạt lại hỏi đoạn còn lại. Cứ như vậy khi nào mới xong? Bên cạnh đó, topic này đã hoàn thành nhiệm vụ của nó. Tức là trả lời cho câu hỏi:

Expected identified or ‘(’ before ‘[’ token huffTree[i].c = i

@Htc Đặt câu hỏi khác, và nhớ nêu cụ thể vẩn đề nhé.

I moved a post to a new topic: Lỗi khi new

Cái mà bạn dùng là C++. Có lẽ anh Đạt @ltd nên có 1 topic nói sự khác nhau giữa C và C++. Nhiều bạn nhầm lẫn 2 ngôn ngữ này quá @@

1 Like

Anh nghĩ anh phải làm videos, làm vài chục cái hướng dẫn mọi người mới nhận ra sự khác biệt.

@Htc mình sẽ move bài bạn ra topic mới nhé.

2 Likes

ok.giúp mình nhé 20 ký tự

Cây huffman ah :runner:

chuẩn rồi,ông làm code này chưa?

làm sớm đi a, cuối tháng e tải về máy rồi về quê xem, ôn thi luôn. :smiley:

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