| re: Template class member for one specialisation only?
"Ben" <ben_ml@hotmail.com> wrote...[color=blue]
> I'm trying to make a third party lib (Rogue Wave's math.h++) compile
> (under VC7) and I'm having some problems with what I think is code
> that was written specifically to work with the older (less standard)
> versions of the VC compiler.
> [...][/color]
You might be better off talking to Rouge Wave or posting your
question to a VC++ newsgroup. Math.h++ is reported obsolete
by Rogue Wave itself. Whether you will be able to upgrade your
library is not really a language question. However, from the
sanity point of view, if the manufacturer of the product has
given up on it, there is no sense to spend time doing their job
just to save a few bucks.
Of course, you could continue rewriting Math.h++ to work with
the current version of VC++, but (a) wouldn't you rather solve
your own problems? and (b) what if you need to change compilers,
will you rewrite all your other libraries that need that, too?
As to the specialisation, try declaring it in the header. Let
the implementation be in the translation module, just add
template<>
RWMathVec<DComplex>::RWMathVec(
const RWMathVec<double>& re,
const RWMathVec<double>& im);
after the RWMathVec template definition.
If that doesn't solve the problem, try asking in a VC++ newsgroup.
Victor |