Tôi đã đọc this. Tôi đã thử nghiệm chương trình này trên các khối mã 13.12 IDE hỗ trợ C++11
nhưng nó đang nhận được thất bại trong biên dịch & trình biên dịch cho thấy nhiều lỗi. Nhìn vào chương trình. Nó hoạt động tốt trên trình biên dịch trực tuyến xem lỗi thisTại sao chương trình C++ này thất bại trong việc biên dịch?
// bad_array_new_length example
#include <iostream> // std::cout
#include <exception> // std::exception
#include <new> // std::bad_array_new_length
int main() {
try {
int* p = new int[-1];
} catch (std::bad_array_new_length& e) {
std::cerr << "bad_array_new_length caught: " << e.what() << '\n';
} catch (std::exception& e) { // older compilers may throw other exceptions:
std::cerr << "some other standard exception caught: " << e.what() << '\n';
}
}
Compiler:
7 12 [Error] expected type-specifier
7 37 [Error] expected unqualified-id before '&' token
7 37 [Error] expected ')' before '&' token
7 37 [Error] expected '{' before '&' token
7 39 [Error] 'e' was not declared in this scope
7 40 [Error] expected ';' before ')' token
9 5 [Error] expected primary-expression before 'catch'
9 5 [Error] expected ';' before 'catch'
gì đang xảy ra sai ở đây? Đó có phải là lỗi trình biên dịch hoặc là C++11
không được hỗ trợ đầy đủ trong các khối mã 13.12 IDE không?
Hãy giúp tôi.
Bạn đã bật * C++ 11 chưa? Trình biên dịch GCC C++ thường cần một lá cờ đặc biệt cho nó ('-std = C++ 11'). –
@Tại sao các phiếu giảm giá cho câu hỏi này? Lý do là gì? – Destructor
Tôi chưa bao giờ sử dụng Code :: Blocks trước đây, nhưng nó xuất hiện nó không phải là một trình biên dịch. Bạn đang sử dụng trình biên dịch nào? – Steve