In case of template template paramater
template class Wrapper>
class Foo {
//...
private:
Wrapper data;
};
You have to use class before classname.
This is wrong:
template typename Wrapper>
but this is ok:
template class Wrapper>
In other cases they are interchangeable.