Đâ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?Một trường hợp khác mà khoảng trắng có vấn đề (có thể?)
#include <type_traits>
template <bool cond>
using EnableIf = typename std::enable_if<cond, int>::type;
template <int n, EnableIf<n == 1>=0>
void func()
{}
Trình soạn thảo Intel C++ không biên dịch được thông báo: "kết hợp các kiểu số không hợp lệ". Nhưng thêm khoảng trống đơn trong chữ ký và nó chỉ biên soạn:
template <int n, EnableIf<n == 1> =0>
void func()
{}
Vâng, nó không được coi là ' = 0)> ' –
irrelephant