On Sun, 6 Feb 2005, Gary Setter wrote: > 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;} > };
It is redundant. I wrote it before I realized that Value() will be zero for integer and pointer types. Before you remove it make sure that the following really is zero with all your compilers, it should be. typedef void * Value; void * p = Value(); -- http://kevin.atkinson.dhs.org _______________________________________________ Aspell-devel mailing list Aspell-devel@gnu.org http://lists.gnu.org/mailman/listinfo/aspell-devel