Hi,
a few things that go wrong when calling create implementation with template parameters.
First is the case of a template function in a non-template class:
class foo {
template <class T>
void function1(T parameter);
};
// generated implementation
template <class T>
void foo<T>::function1( T parameter )
{
}
The generated code is wrong, this should be "foo::function1" instead of "foo<T>::function1".
Next problem is in case of a specialization:
class bar;
template<>
class foo<bar> {
void function1(T parameter);
};
// generated implementation
template<>
void foo<bar><>::function1( T parameter )
{
}
The correct implementation would be
void foo<bar>::function1( T parameter );
and can/should be located in the .cpp file.
Regards, Thomas