C ++ GNU designierte Strukturinitialisierung, die in Eclipse nicht erkannt wird

9

Der CDT-Parser meldet einen Syntaxfehler für die Strukturinitialisierung:

%Vor%

Während GCC das Formular : als veraltet angibt , würde es dies tun scheint, dass es nicht veraltet oder entfernt wurde. In C99 würde ich sicherlich die Standardform .<name> = verwenden, aber für C ++ ist die : die einzige Option, die mir für die vorgesehene Initialisierung bekannt ist.

Ich habe versucht, meine Toolchain auf MinGW und Cross GCC zu setzen, aber beide scheinen nicht zu funktionieren.

Wie kann ich Eclipse dazu bringen, diese Syntax zu erkennen? Es ist keine große Sache für eine Zeile, aber sie führt zu jeder anderen Instanz der Variablen, da Eclipse nicht erkennt, dass sie deklariert ist.

    
altendky 14.01.2013, 19:22
quelle

2 Antworten

2

Das . -Formular ist nur in C99 und nicht in C ++ verfügbar. In C ++ sind die einzigen standardkonformen Optionen Initialisierungs- oder Konstruktorreihenfolge.

Sie können die Verkettung mit geeigneten Referenz-Rückgabe-Methoden verwenden, um eine ähnliche Schnittstelle zu erstellen (hier sind a und b Methoden und keine Variablen):

%Vor%     
Mark B 14.01.2013 19:35
quelle
1

Ich triff diese Probleme auch und benutze die untenstehende Methode, um es zu lösen.

%Vor%

Dazu muss der Programmierer die Reihenfolge der Initialisierung sicherstellen.

    
user4844465 29.04.2015 02:29
quelle

Tags und Links