Woody,

Doxygen does not write documentation for you; it formats and cross-references 
documentation you have written.

Doxygen generating a cross-reference to "control::V2" (which is a common 
convention to referring to a struct type member[1]) for the expression 
table_pointer->V2 is exactly what it's supposed to do.  

If you disagree, please provide actual samples, e.g. the content you are 
feeding to Doxygen and the output it is generating, along with an example of 
what you want it to generate.  There may yet be a way to achieve your goals.

Regards,
-Brian

[1] C does not have a language construct for referring to a member of a type 
because it's unnecessary; there's no such thing as inheritance or polymorphism 
in the language like there is in C++.  In C++, you very well might have to 
fully-qualify a member to access it.  Consider:

   typedef struct {
      int V1;
   } control;

In C++, you could write sizeof(control::V1) and get back the same as if you 
wrote sizeof(int)--you are referring to the type directly, not an instance of 
the type.  In code terms, you could do something like this:

  assert(sizeof(control::V1) == sizeof(int)); // Fail mightily if someone 
redefines V1

That would not be possible in C.  You would have to have an instance, like so:

   control one_of_them;
   assert(sizeof(one_of_them.V1) == sizeof(int));

Or you could get clever and do this to save stack:

   assert(sizeof(((control *)0)->V1) == sizeof(int));










------------------------------------------------------------------------------
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to