Dne Čt 26. července 2012 14:02:56 Adrien Kunysz napsal(a):
 On Thu, Jul 26, 2012 at 10:57 AM, Petr Tesarik
<ptesarik(a)suse.cz> wrote:
 > Hi all,
 > 
 > as part of SUSE HackWeek8, David started work on a GUI extension using
 > Qt4, which is a C++ project. One of the early annoyances is that an
 > extension module must include the declarations from defs.h, and we
 > currently use some C identifiers which happen to be keywords in C++,
 > namely:
 > 
 > - struct namespace
 > - struct namespace namespace (in struct symbol_table_data)
 > - char *typename (in struct gnu_request)
 > 
 > Can I rename them? But you said earlier that the existing API must never
 > change... Any other suggestions to make this include file parseable by a
 > C++ compiler?
 
 One hack you could consider would be to do something like this:
 
 extern "C" {
         #define namespace ns
         #include "defs.h"
         #undef namespace
 } 
Yes! That works, although I'm not entirely sure it can't do any harm. After 
all, it's what you called it - a hack. ;-)
I wonder whether Dave (Anderson) can suggest a cleaner solution (or make an 
official statement that he doesn't care about C++ compatibility).
Petr Tesarik
SUSE Linux