Do là một lớp MyClass
với thông số mẫuC++ lớp mẫu tham số phải có một lớp cha mẹ cụ
template<typename T>
class MyClass
{
//...
};
và một lớp MySecondClass
với hai tham số mẫu.
template<typename T, typename U>
class MySecondClass
{
//...
};
Những gì tôi muốn làm là để hạn chế MyClass
để chỉ cho phép một T
đó là một loại hình xuất phát của MySecondClass
. Tôi đã biết mình cần cái gì đó như
template<typename T, typename = std::enable_if<std::is_base_of<MySecondClass<?,?>, T>::value>>
class MyClass
{
//...
}
Tôi chỉ không chắc chắn những gì để đưa vào cho ?
như tôi muốn cho phép tất cả các khả năng MySecondClass
's.
Tôi chỉnh sửa các câu hỏi. Nếu bạn cảm thấy rằng nó không chính xác xin vui lòng cuộn nó trở lại – NathanOliver
Tôi tự hỏi về điểm của bài tập. Làm thế nào để bạn có kế hoạch để sử dụng thực tế là 'T' có nguồn gốc từ một số instantiation' MyParentClass'? Bạn tin rằng bạn có thể làm gì với 'T' biết điều này, rằng bạn không thể làm khác được? –
tại sao bạn tiếp tục thay đổi câu hỏi? –