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
[email protected]
https://lists.sourceforge.net/lists/listinfo/doxygen-users