struct QA_DLLEXPORT cAnimEquation : cHolder<cAnimScript>, public cFileIO
{
public:
cAnimEquation(const cAnimEquation& copy);
cAnimEquation(QAnim::cAnimScript *script=0);
cAnimEquation(cAnimScript* script, const cAnimTerm* terms);
~cAnimEquation();
template<class T>
T ResolveT() const;
template<>
double cAnimEquation::ResolveT<double>() const
{
return COP(cAnimScript)->EqResolve<double>(_terms);
}
Produces
error C2908: explicit specialization; 'T QAnim::cAnimEquation::ResolveT<double>(void)' has already been instantiated d:\erik's documents\visual studio 2008\projects\qasm\qanim\canimequation.cpp 40
error C2910: 'QAnim::cAnimEquation::ResolveT' : cannot be explicitly specialized d:\erik's documents\visual studio 2008\projects\qasm\qanim\canimequation.cpp 36
What the ****ing ****.
I have checked the stupid syntax for explicit specialization a bajillion times, i've taken the const off the function, i've made the function return void and instead have a paramater, all to no avail. What in the holy sh!ttacos of hell is going on here?!
EDIT: Found workaround to avoid explicit specialization, but this still weirds me out.