Tại sao mã bên dưới biên dịch? Tôi không chuyên chức năng thành viên mẫu của một lớp mẫu, do đó chỉ nên sử dụng một template<>
. Tuy nhiên, g ++ biên dịch nó không có cảnh báo nào, kêu vang ++ cho phép chỉ là một cảnh báoMẫu kép <> trong chuyên môn mẫu
cảnh báo: không liên quan danh sách tham số mẫu trong mẫu chuyên môn
template<typename T>
struct S{};
template<> template<> // why can we do this?
struct S<int>{};
int main()
{
}
[Báo cáo lỗi này] (https://llvm.org/bugs/show_bug.cgi?id=5559) có thể có liên quan ([đặc biệt là bình luận # 2] (https://llvm.org/bugs/show_bug. cgi? id = 5559 # c2)). – 0x499602D2
@ 0x499602D2 cảm ơn, mặc dù lỗi được báo cáo có ý nghĩa hơn một chút, vì có 2 cấp độ (mặc dù chỉ có một chuyên môn). – vsoftco
@ 0x499602D2: có liên quan? trông giống như một câu trả lời cho tôi;) –