struct Messages
{
template <typename V>
static const char* message() {return "test mesage";}
};
template <int Min, class M=Messages>
struct Test: public M
{
Test()
{
M::message<int>(); //error: expected primary-expression before 'int'
}
};
int main()
{
Test<5, Messages> t;
}
Tôi nghi ngờ điều này đã làm với một số phụ thuộc lẫn nhau, giống như mã của thử nghiệm phụ thuộc vào M lớp cơ sở có phương pháp chuyên bên trong Kiểm tra. Điều này có đúng không?Tại sao tôi không thể gọi một phương thức templated của một lớp mẫu mà có nguồn gốc từ
Cảm ơn, đúng vậy. Tôi không biết việc sử dụng từ khóa 'mẫu' này để phân biệt các tên phụ thuộc. –