#include <stdio.h>
#include <stdlib.h>
typedef struct {
unsigned length;
} List;
void init(List *l) {
l = (List *) malloc(sizeof(List));
l->length = 3;
}
int main(void) {
List *list = NULL;
init(list);
if(list != NULL) {
printf("length final %d \n", list->length);
return 0;
}
return 1;
}
Đây là phiên bản đơn giản của mã đang gây ra sự cố cho tôi. Tôi đang cố gắng để xây dựng con trỏ *list
từ một phương pháp trong đó *list
được chuyển thành một tham số.C - Không thể khởi tạo con trỏ được chuyển làm đối số
Tôi biết tôi có thể làm cho void init(List *l)
hoạt động bằng cách thay đổi thành void init(List **l)
nhưng đây là hướng dẫn về lớp học. Tôi không thể thay đổi các đối số phương thức. Tôi đã dành bốn giờ làm việc về điều này.
Tôi muốn đảm bảo rằng không có cách nào để làm cho void init(List *l)
hoạt động trước khi tôi đối đầu với giáo sư của mình.
Cảm ơn trước
PO được đề cập cụ thể nếu nó có thể được thực hiện tránh "void init (Danh sách ** l)" –
@Gunner gửi – meagar
Nhiệm vụ chỉ định rằng nó phải là hàm tạo. Tôi sẽ gửi email cho giáo sư của tôi và yêu cầu anh ta thay đổi các yêu cầu. Cảm ơn bạn đã giúp đỡ! –