Dưới đây là những gì tôi đã sao chép từ MSDN về new
điều hành:Xóa một mảng các con trỏ đến các hàm?
Nhà điều hành
new
không thể được sử dụng để phân bổ một chức năng, nhưng nó có thể được sử dụng để phân bổ con trỏ đến chức năng. Ví dụ sau đây phân bổ và sau đó giải phóng một mảng bảy con trỏ đến các hàm số trả về số nguyên.int (**p)() = new (int (*[7])()); delete *p;
Vâng không có gì lạ với dòng đầu tiên là, nó phân bổ một mảng của con trỏ đến chức năng, nhưng tôi chỉ không hiểu tại sao thứ hai xóa mảng đó? Tôi nghĩ rằng nó phải là:
delete[] *p;
Bất cứ ai có thể giải thích điều này?
có,,,,, –
Không, nó phải là 'xóa [] p' (không có dấu hoa thị). – avakar
và cách "xóa * p;" hợp lệ? đó là những gì tôi không thể tìm ra – codekiddy