#ifndef __TEST__
#define __TEST__
namespace std
{
template<typename T>
class list;
}
template<typename T>
void Pop(std::list<T> * l)
{
while(!l->empty())
l->pop();
}
#endif
and used that function in my main. I get errors. Of course, I know that there are more template params for std::list
(allocator I think). But, that is beside the point. Do I have to know the full template declaration of a template class to be able to forward declare it?
EDIT: I wasn't using a pointer before - it was a reference. I'll try it out with the pointer.
See Question&Answers more detail:os