2013-07-03 46 views
17

Clang 3.3 hỗ trợ một số tính năng C++ 14, chẳng hạn như khởi tạo thành viên và tập hợp. Tuy nhiên, tôi không thể biên dịch mã này ngay cả với chuyển đổi -std=c++11.Clang 3.3 và C++ 14 hỗ trợ?

struct A 
{ 
    struct X { int a, b; }; 
    X x = { 1, 2 }; 
    int n; 
}; 

A a = {{10}, 5}; 

Tôi đang làm gì sai?

+3

trình cho tôi với '-std = C++ 11' trong vang ** 3.2 ** và gcc 4.7. – kennytm

+0

Trình khởi tạo thành viên trong lớp là tính năng C++ 11, phải không? –

+0

Tôi làm '' A a = {{10}, 5}; '' và không thành công. Tôi muốn sử dụng tính năng này của C++ 14. –

Trả lời

30

Post-C++ 11 tính năng ngôn ngữ trong Clang 3.3 được kích hoạt với chuyển đổi dòng lệnh này:

-std = C++ 1n

Check-out dưới cùng của trang này http://clang.llvm.org/cxx_status.html cho danh sách các tính năng post-C++ 11 hiện được hỗ trợ trong Clang 3.3.

Ngoài ra, ở đây bạn sẽ tìm thấy các cuộc thảo luận trên sắp tới C++14 và sử dụng ví dụ: http://www.meetingcpp.com/index.php/br/items/a-look-at-cpp14-papers-part-1.html

+0

Tính năng C++ 14 là ví dụ này khi sử dụng? – balki

+0

@balki: tổng hợp khởi tạo: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3605.html –

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