Tôi đang viết một số mã TMP-nặng cho g ++ (phiên bản 4.8.1_1, Macports) và clang ++ (phiên bản 3.3, Macports). Mặc dù g ++ từ chối danh sách mã sau bằng UNBRIDLED FURY, clang ++ biên dịch với ân huệ v
Trong trường hợp lỗi thay thế liên quan đến bí danh mẫu (ví dụ: bí danh mẫu trên tên tệp thành viên bị thiếu, như trong đoạn mã bên dưới), có nên kích hoạt lỗi không? Clang và gcc dường như không đồng
Đây có phải là trường hợp khác, nơi các khoảng trống trong C++ hay là lỗi trình biên dịch? Mã sau có đúng cú pháp không? #include <type_traits>
template <bool cond>
using EnableIf = typename std::e
Hãy nói rằng tôi có những mẫu bí danh: enum class enabler {};
template <typename T>
using EnableIf = typename std::enable_if<T::value, enabler>::type;
template <typename T>
using DisableIf = type