C++ Class with templated and non-templated form

I am curious if it is possible to have a class with both a templated and non-templated form. Something like:

SomeClass foo;
SomeClass<int> bar;

foo.do_something();
bar.do_something(5);

I am fine defining everything more than once, but I don't know if it's possible to use the same class name.

Answers


Short answer: no, it's not allowed. The exact error message your compiler gives you will vary, but you should get an error message.

You can, however, provide default parameters for a template, so you can instantiate it with only <>, like:

template <class T=int>
class X {};

int main(){ 
    X<long> a;
    X<>     b; // used default, so equivalent to "X<int> b;"
}

Need Your Help

Div will not move up to where it should

html css

I have a div inside a div that will not move up into the center where I want it to. It is the image called youthcouncil

How do I fetch n-th row from Cassandra?

limit cassandra rows

I have column family with timestamp as row name and I want to fetch first 10 rows, second 10's, etc.