Consider this class:
template <typename A, typename BDefault=A>
class foo
{
void bar(A a, B b) {}
};
When I select "refactor, move implementation to source code", VAssistX generates this:
template <typename A, typename BDefault=A>
void foo::bar(A a, B b)
{
}
which is an error (C4519: default template arguments are only allowed on a class template.
"move implementation" must strip any default template argument from the template definition.
Correct is this, without "=A":
template <typename A, typename BDefault>
void foo::bar(A a, B b)
{
}
Regards, Hajo