Một ví dụ đơn giản:
void foo(class Bar * bar) {
foo2(thanh);
}
void foo2(Thanh * thanh) {
thanh->a++;
}
Con trỏ được sử dụng trong foo2 là con trỏ tiêu chuẩn tới lớp Bar. OK - con trỏ được sử dụng trong foo cũng là con trỏ tới lớp Bar. Nhưng nơi này không được gọi là Bar.
Tôi không thể tìm thấy cách đặt tên chính xác cho tham số foo. Nó có phải là một con trỏ tới một lớp ẩn danh không? lớp Bar *thanh
Tên chính xác cho là gì?
Những gì bạn cần làchuyển tiếp tuyên bố
.
bạn có thể đọc nótrong tài liệuhoặc trong một bài viết khác .
Từ tài liệu:
Khai báo một loại lớp sẽ được định nghĩa sau trong phạm vi này. Loại tên lớp không đầy đủ cho đến khi định nghĩa xuất hiện. Điều này cho phép các lớp tham chiếu lẫn nhau.
Tôi là một lập trình viên xuất sắc, rất giỏi!