Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » Xlib <-> C++ Konflijkt beim proggen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.01.2005, 16:52 Uhr
nAvi



Ich hab grad irgendwie ein Problem beim coden mit der Xlib und C++.


C++:
XVisualInfo *v;
...

if(v->class != TrueColor)
      {...}  



Er nimmt nun aber das nicht an da 'class' doch in C++ ein reservierter Begriff ist.
Wie komm ich da denn nun an den Wert ran? Oder liegt es an was anderem dass er die Zeile dauernd bemaengelt?
--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.01.2005, 19:02 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


was für einen error bringt er denn
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.01.2005, 22:11 Uhr
nAvi



main_glx.cc:86: error: parse error before numeric constant

Aber das muss an dem class liegen. Ist ja unter C++ ein reserviertes Wort und darf daher doch nicht für Namen verwendet werden oder? Ich kann mir aber nicht vorstellen dass die Xlib inkompatibel zu C++ ist.
--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.01.2005, 22:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hmm schon seltsam.

Ist TrueColor korrekt definiert?

probier mal ob es funktioniert wenn du klammern um das "v->class" machst
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.01.2005, 22:49 Uhr
nAvi



Also die Klammer hat auch nix gebracht.
Ich hab auch schin dass probiert:


C++:
1: XVisualInfo *v;
...
2: int n = v->class;
3: if(n != TrueColor)
      {...}



Damit kommt dann der error nur in Zeile 2. Es liegt also an der class. Und TrueColor ist ein int und des class auch (hab extra in der Klassenreferenz nachgeschaut). Die Xlib ist aber sicher in C geschrieben. Dass heisst dass ich das gar net umgehen kann es sei denn ich steig auf C um oder pfusch in den X sourcen rum. So ein Schrott
--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.01.2005, 23:10 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


was du machen könntest wär eine Q&D-Lösung:


C++:
struct XMyVisualInfo {
  // original reinkopieren, nur eben z.b "int mclass;"
};

XVisualInfo *v
XMyVisualInfo *mv = (XMyVisualInfo*)v;

if(mv->mclass != TrueColor)
{


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.02.2005, 17:27 Uhr
virtual
Sexiest Bit alive
(Operator)


Normalerweise verwendet man bei der X Programmierung und C++ an Stelle von class den Ausdruck c_class. Die Header der XLibrary sind entsprechend vorbereitet, zB:

C++:
typedef struct {
....
#if defined(__cplusplus) || defined(c_plusplus)
  int c_class;                                  /* C++ */
#else
  int class;
#endif
   ....
} XVisualInfo;


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: