The two MakeAlwaysEndEnumerationParms template classes are
"Gary Setter" <[email protected]>
| Newsgroups | gmane.comp.gnu.aspell.devel |
|---|---|
| Message-ID | <000001c50cb9$ba8b46a0$5d144a0c@pavilion> |
In enumeration.hpp, we have two template classes that VC6 can not
distinguish between. Justifiably, it issues an error. I plan to
submit a patch to remove the second template, the one that uses
the first template to make a pointer version. The second template
is not being used.
Can anyone tell me why the second was defined?
The code:
template <class Value>
struct MakeAlwaysEndEnumerationParms {
Value end_state() const {return Value();}
};
template <class Value>
struct MakeAlwaysEndEnumerationParms<Value *> {
Value * end_state() const {return 0;}
};
The errors:
c:\projects\aspell\trial\common\enumeration.hpp(115) : error
C2989:
'?$MakeAlwaysEndEnumerationParms@PAVtemplate-parameter-BAB@' :
template class has already been defined as a non-template class
c:\projects\aspell\trial\common\enumeration.hpp(115) : error
C2988: unrecognizable template declaration/definition