Greetings, Consider the following:
template<class Info_t> class MyClass { public: // types typedef Info_t::Size_t MyVal_t; public: BOOL operator=(const MyClass& rhs); operator MyVal_t()const; void operator=(MyVal_t val); }; template<class Info_t> MyClass<Info_t>::operator typename MyClass<Info_t>::MyVal_t() const { } template<class Info_t> void MyClass<Info_t>::operator=(typename MyClass<Info_t>::MyVal_t val) { } If I run this through doxygen 1.8.4 , I get two different warnings. The first is related to the operator MyVal_t(): template_operator.h(17): warning : documented symbol `MyClass< Info_t >::operator typename MyClass< Info_t >::MyVal_t' was not declared or defined. The second is confusion between the two operator= functions: template_operator.h(22): warning : no matching class member found for template < Info_t > void MyClass< Info_t >::operator=(MyClass< Info_t >::Info_t::Size_t val) Possible candidates: BOOL MyClass< Info_t >::operator=(const MyClass &rhs) void MyClass< Info_t >::operator=(MyVal_t val) Both seem to be caused by the typedef Info_t::Size_t MyVal_t; It does not matter what the typedef is. This fails in the same way: typedef int MyVal_t; Any thoughts? Best regards, Tom -- View this message in context: http://doxygen.10944.n7.nabble.com/Local-Template-typedefs-cause-confusion-tp6173.html Sent from the Doxygen - Users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Doxygen-users mailing list Doxygen-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/doxygen-users