Occasionaly, tôi đã thực hiện một lỗi đánh máy ở một nơi mã của chương trình của tôi:Tôi có thể thực sự khởi tạo một mảng với các dấu ngoặc tròn không?
int a = 10;
char* b = new char(a);
Lỗi là rõ ràng: Tôi đã viết() thay vì []. Điều kỳ lạ là ... mã được biên dịch ok, nó chạy trong trình gỡ lỗi ok. Nhưng biên dịch .exe bên ngoài của trình gỡ rối bị rơi một lúc sau khi chức năng với những dòng này đã được thực thi.
Dòng thứ hai của mã có thực sự hợp pháp không? Và nếu có, trình biên dịch có ý nghĩa gì?