------- Additional Comments From beorn_johnson at yahoo dot com  2005-07-10 
19:55 -------
Addendum for those who continue to have difficulty:

I found that the order of the "template ..." vs. "template<> ..." made
a difference, but in linking, not in compiling.  From the previous example:
    template <> EST_Regex * EST_THash< EST_String, EST_Regex * >::Dummy_Value;
    template <> EST_String EST_THash< EST_String, EST_Regex * >::Dummy_Key;
    template  EST_Regex * EST_THash< EST_String, EST_Regex * >::Dummy_Value;
    template EST_String EST_THash< EST_String, EST_Regex * >::Dummy_Key;

The (equivalent of the) above would not generate symbols in my '.o', however:
    template  EST_Regex * EST_THash< EST_String, EST_Regex * >::Dummy_Value;
    template EST_String EST_THash< EST_String, EST_Regex * >::Dummy_Key;
    template <> EST_Regex * EST_THash< EST_String, EST_Regex * >::Dummy_Value;
    template <> EST_String EST_THash< EST_String, EST_Regex * >::Dummy_Key;
will work.   (Note: my case was slightly more complicated, in that instead of 
"EST_Regex" for the
final type, I had a templated type).  This was in 3.4.2.

Hope this helps.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15006

Reply via email to