Name für einen eigenen Datentyp ist unzulässig??
-
Yo...
momentan ist es ja auch unbenannt nur ich will jetzt unbedingt wissen wieso er das nicht mag
-
Hast du irgendwo ein #define small char oder so?
-
Nein :D, keine defines gemacht!
-
Schau dir den Output des Präprozessors an. Da gibt es vielleicht Hinweise, was passiert ist.
-
ganz einfache vermutung:
du hast deinen datentyp nicht mit einem semikolon abgeschlossen.
mach mal
class Tile{ } ; //<-- !!
so long
-
Wo kann ich mir den Output ansehen?
Meine class Tile wird mit einem ; abgeschlossen, daran liegt es also nicht
-
PCLexikon schrieb:
Wo kann ich mir den Output ansehen?
Wird in der Doku deines Compilers stehen. Beim g++ geht dies mit g++ -E datei.cpp
-
-> small ist eine globale Variable, die du vergessen ahst?
-> small ist ein Datentyp oder eine Funktion?
-> small wird in einer eingebundenen std-Headerdatei verwendet?
-> small wurde in einer std-Headerdatei als Makro definiert?
-
fährst du einen borland?
* Borland C++ unterscheidet folgende Zeigertypen: (1) near-Zeiger: 16Bit, schnelle Zeigerarithmetik mgl. (2) far-Zeiger: 32Bit=16Bit-Segment-Adresse + 16Bit-Offset. Wegen integrierter Segment-Adresse keine Zeigerarithmetik mgl. (3) huge-Zeiger: 32Bit. Vor Aufruf wird jeweils absolute Adresse berechnet, wodurch langsame Zeigerarithmetik mgl. wird. (4) Segment-Zeiger: 16Bit. * Folgende Speichermodelle erlaubt Borland C++: (1) Tiny: Alle 4 Segmente beginnen mit gleicher Adresse. Es werden ausschließlich near-Zeiger verwendet. Kein far-Heap. (2) Small: Daten+Stack (64KB) und Code (64KB); far-Heap (1MB) ebenfalls allokierbar. (3) Medium: far-Code und near-Stack/Heap. (4) Compact: near-Code, far-Stack/Heap. (5) Large: far-Code, far-Stack/Heap. (6) Huge: Wie Lage, aber nur hier können statische Strukturen>64KB angelegt werden.
-
So, ich bekomm das mit dem Output nicht hin, habe das noch nie gemacht:
Compiler: Visual Studio 6.0
Und nein, es gibt keine variable die so heißt, in dem programm gibt es nichts was sonst noch small heißt.
-
Compiler VC 6.0 SP6
dummy.cpp:
class Tile { }; int main() { Tile small [64] [64]; Tile medium [128][128]; Tile large [256][256]; return 0; }
compiliert einwandfrei. Nachfolgende warnings sind wohl klar:
--------------------Konfiguration: Dummy - Win32 Debug--------------------
Kompilierung läuft...
Dummy.cpp
c:\projects\dummy\dummy.cpp(12) : warning C4101: 'large' : Unreferenzierte lokale Variable
c:\projects\dummy\dummy.cpp(11) : warning C4101: 'medium' : Unreferenzierte lokale Variable
c:\projects\dummy\dummy.cpp(10) : warning C4101: 'small' : Unreferenzierte lokale Variable
Linker-Vorgang läuft...Dummy.exe - 0 Fehler, 3 Warnung(en)
Ich glauube du verschweigst uns was
mfg JJ
-
Vielleicht überflüsig zu erwähnen, aber hast du probiert, eine Variable anderen Typs mit namen small in einer anderen datei zu deklarieren? Mit gleichen Headern?
-
Mach mal ein
#undef small
vor deinen Code. Bei mir (VC7) sieht das in etwa so aus:
#define small char
Oder du nennst es eben Small oder ganz anders...
-
Wie wäre es mit "klein"?