On Tue, Apr 03, 2007 at 11:27:54AM +0200, Chris.Dams@mi.infn.it wrote:
I seem to be having a problem [...] the static member class_info<registered_class_options>::first is (besides inside the GiNaC dynamic library) also created within my executable.
I now solved this by creating a file class_info.cpp (given below).
Interesting. There are
template <class OPT> class_info<OPT> *class_info<OPT>::first = NULL; template <class OPT> bool class_info<OPT>::parents_identified = false;
in class_info.h. So I wonder why explicit specialization makes any difference...
Shall I add this file to the CVS?
I think we should understand how it works first.
Hi, I may be jumping in a bit late, and without having looked through the source, but are we looking at a violation of the basic one-definition-rule (ODR)? whereby a specialization is providing a definition that is otherwise expected from a primary template? (For the record, which version are we looking at, so I may check it out?) Fang David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!)