Mã này:Lớp mẫu tham chiếu đến chính nó dưới dạng tham số mẫu mẫu?
template <template <typename> class T>
class A
{
};
template <typename T>
class B
{
A<B> x;
};
không biên dịch, Tôi cho rằng kể từ khi A<B>
được hiểu như là A<B<T> >
trong phạm vi B
's.
Vì vậy, làm thế nào để bạn vượt qua B
làm thông số mẫu mẫu trong phạm vi của nó?
Không đơn giản chỉ định công việc sau đây? vì T có thể là bất kỳ loại đơn giản hoặc mẫu nào cũng ........... Mã _-------- mẫu lớp A { }; –
Pardeep
@Pardeep: Tôi không hoàn toàn theo bạn. 'A''s T là một đối số mẫu template. Nó rất khác với 'template lớp A {}'. –
uj2
Tại sao bạn có thể muốn? Tôi chưa bao giờ thấy bất kỳ việc sử dụng nào cho điều đó. – Puppy