New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

typedef inside a template class will confuse doxygen when resolving methods (Origin: bugzilla #589616) #3459

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.5.9 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2009-07-24 14:45:52 +0000, Carl R. Werth wrote:

If inside a template class a typedef is defined and used as parameter to a method, then doxygen will be not recognize this method.
Documentation attached to this method will not show up in the HTML output.
Example:

template
class A
{
public:
typedef int* INT_PTR; ///< typedef inside class A, but public

void Set_Ptr(INT_PTR p);

INT_PTR m_p;

};

template
void A::Set_Ptr(typename A::INT_PTR p)
{
m_p = p;
}

Warnings produced by doxygen:
Error.cpp:14: Warning: no matching class member found for
template < T >
void A< T >::Set_Ptr(A< T >::int *p)
Possible candidates:
void A< T >::Set_Ptr(INT_PTR p)
void A< T >::Set_Ptr(INT_PTR p) <-- same warning twice !??

On 2009-07-24 14:51:26 +0000, Carl R. Werth wrote:

Created attachment 139159
example to reproduce the bug

Bug_589616_reproduce.zip includes:

  • configuration file
  • simple C/C++ source to reproduce the bug

On 2009-07-25 15:14:25 +0000, Dimitri van Heesch wrote:

Confirmed. Should be fixed in the next subversion update.

Main problem was that the scope of the parameter in

void A::Set_Ptr(typename A::INT_PTR p)

is actually redundant, the following works just as well (tested with gcc):

void A::Set_Ptr(INT_PTR p)

Nevertheless, doxygen should of course recognize both versions.

On 2009-08-20 10:13:00 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.6.0. Please verify if this is indeed the case and reopen the
bug if you think it is not fixed (include any additional information that you
think can be relevant).

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment