2017-10-22 20 views
0

XVisualInfo構造体でclassというプロパティがあり、 私はCで、この構造体を使用するときに問題が発生する++プログラム:エラー:予想される修飾されていない-ID」クラスの前に

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

私は私をコンパイルしよう

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

これを行うには何ができるのですか?あなたが見ることができるようにここで

+3

'class'は予約済みのキーワードであり、シンボルとして使用することはできません。 – user0042

+1

"class"はC++の予約語です。 –

+0

@SamVarshavchik私はそれを知っています:| | X11をどうすれば使えるのか知っていますか?あなたは私がCを書くべきであることを意味しますか?方法はありませんか? –

答えて

2

/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; 

からするXVisualInfoの実際の定義ですが、C++のコードを書くための規定はすぐそこです。 c_classのメンバー名を使用してください。

+0

ああ...ありがとう:Dあなたは私を救った。私は常に定義をチェックしなければならない! –

関連する問題