specialization inside a template

M

Marc

I am having trouble understanding why the following is forbidden:

template<class> struct A {
template<class>struct B;
template<>struct B<int>{};
template<>struct B<double>{};
};

while this is perfectly fine:

template<class> struct A {
template<class,int=0>struct B;
template<int i>struct B<int,i>{};
template<int i>struct B<double,i>{};
};

Well, I know the difference between the 2 cases, what I am interested
in is the reason that led to standardize things this way (I'd be happy
to learn it is just lack of interest).

Workarounds can be painful.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top