2012-05-14 31 views
7

Tôi đang lập trình Visual C++, tôi đã tạo một ứng dụng bảng điều khiển CLR. Tôi đã nhận thấy rằng mảng String nên được khai báo như String ^, không phải String []. Việc sử dụng^là gì? Và tại sao nó được sử dụng thay vì []? Và sự thay thế này chỉ giới hạn ở các ứng dụng CLR? Đây là một dòng mã và các lỗi:Sử dụng toán tử^trong hình ảnh C++

array<String[]>[] abc; 

các lỗi phát sinh là

lỗi C2143: lỗi cú pháp: thiếu ';' trước '['

lỗi C2146: lỗi cú pháp: thiếu ';' trước khi nhận dạng 'abc'

eror C2065: 'abc': định không khai báo

Trả lời

12

Các giọng circumflex có nghĩa là đối tượng được quản lý một con trỏ, nó sẽ tự động được thu thập bởi các bộ sưu tập rác - bạn không cần để làm điều này ngầm. Hãy xem this article để hiểu cách mảng hoạt động trong C++/CLI.

Trong trường hợp của bạn:

array<String^> ^abc; 

Và được thay thế này chỉ bị giới hạn vào các ứng dụng CLR?

Có.

Các vấn đề liên quan