2017-10-22 5 views
0

In XVisualInfo Struktur gibt es eine Eigenschaft namens class, Das Problem tritt auf, wenn ich verwenden will, diese Struktur in C++ Programm:Fehler: erwarten unqualifizierte-ID vor, Klasse '

... 
XVisualInfo templ; 
templ.screen = screen; 
templ.depth = 32; 
templ.class = TrueColor; 
... 

Wenn ich versuche mich zu kompilieren habe den folgenden Fehler erhalten:

error: expected unqualified-id before ‘class’ 
templ.class = TrueColor; 
     ^~~~~ 

jetzt was kann ich tun, damit dies funktioniert? !!

+3

'Klasse' ist ein reserviertes Schlüsselwort und kann nicht als Symbol verwendet werden. – user0042

+1

"Klasse" ist ein reserviertes Schlüsselwort in C++. –

+0

@SamVarshavchik Ich weiß das: | aber wissen wie kann ich X11 verwenden? !! Du meinst ich sollte c schreiben !! und es gibt keinen Weg? –

Antwort

2

Hier ist die eigentliche Definition von XVisualInfo von /usr/include/X11/Xutil.h

typedef struct { 
    Visual *visual; 
    VisualID visualid; 
    int screen; 
    int depth; 
#if defined(__cplusplus) || defined(c_plusplus) 
    int c_class;     /* C++ */ 
#else 
    int class; 
#endif 
    unsigned long red_mask; 
    unsigned long green_mask; 
    unsigned long blue_mask; 
    int colormap_size; 
    int bits_per_rgb; 
} XVisualInfo; 

Wie Sie sehen können, die Bereitstellung C schreiben ++ Code richtig ist. Verwenden Sie einfach den Mitgliedsnamen c_class.

+0

Oh ... Danke: D Du hast mich gerettet. Ich muss immer Definitionen überprüfen! –

Verwandte Themen