Hello.
"Create Implementation" does not work well on C++ templated classes.
For example, I have
namespace TestNS
{
template<class A, class B, class C>
class TestClass
{
public:
typedef int TestTypedef;
void func1();
TestTypedef func2();
template<class T>
void func3(T t);
};
}
If i go "Create Implementation" on func1, the output is:
template<class A, class B, class C>
void TestNS::TestClass<A, B, C>::func1()
{
}
This in only a nitpicking - TestNS:: is not necessary, the implementation is created inside TestNS namespace already. I can live with that, this is not a problem yet.
Lets go "Create Implementation" on func2:
template<class A, class B, class C>
TestTypedef TestNS::TestClass<A, B, C>::func2()
{
}
First real issue. This code is wrong. There must be "typename TestClass<A, B, C>::TestTypedef" instead of plain "TestTypedef".
Lets try it also on func3:
template<class T>
void TestNS::TestClass::func3( T t )
{
}
Totally wrong. It is supposed to be
template<class A, class B, class C>
template<class T>
void TestClass<A, B, C>::func3( T t )
{
}
Otherwise it will not compile.
I am working with templates a lot and having this feature working will save me a lot of time.
BR
Knedl