cuốn sách gpt4 ai đã làm

Các vấn đề về typedef và cấu trúc của C++

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 15:28:12 25 4
mua khóa gpt4 Nike

cấu trúc typedef 
{
int y;
trọng lượng int;
struct edgenode * tiếp theo;
}edgenode;

Mã này đưa ra lỗi:'edgenode': được xác định lại; các loại cơ bản khác nhau

Nó hoạt động tốt trong mã C.

为什么?

câu trả lời hay nhất

Bởi vì cấu trúc của bạn không có tên! Câu hỏi ngụ ý kế thừa C - mã được viết theo cách tôi đã viết.

Giải pháp C++ thuần túy là:

cấu trúc cạnh
{
int y;
trọng lượng int;
nút cạnh *tiếp theo;
};

Điều này không hoạt động trong C. Trong C, phù hợp với câu hỏi, bạn sẽ viết:

cạnh cấu trúc typedef
{
int y;
trọng lượng int;
struct edgenode * tiếp theo;
} nút cạnh;

Bây giờ cấu trúc của bạn đã có tên - cấu trúc cạnh. Tất nhiên, nó cũng có typedef - nút cạnh, nhưng trình biên dịch không biết tên cho đến khi nó đạt đến dấu chấm phẩy cuối cùng (xấp xỉ). Bạn cũng có thể viết:

typedef struct edgenode edgenode;
cấu trúc cạnh
{
int y;
trọng lượng int;
nút cạnh *tiếp theo;
};

Về vấn đề về typedef và struct trong C++, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/3440271/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress