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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.