Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

meine Frage:

Warum kann ich folgenden Code unter Linux kompilieren aber unter Windows nicht?

int iSize = 255;

char cBuffer[iSize];

G++ (gcc 3.2.3) kompiliert hier ohne murren. Funktioniert auch fehlerfrei.

Fehler in MSVC 8 Express Edition sind:

error C2057: Konstanter Ausdruck erwartet

error C2466: Zuordnung eines Arrays der konstanten Größe 0 nicht möglich.

error C2133: 'cBuffer': Unbekannte Größe

Gruß Scratch

Geschrieben

Auto-Arrays mit einer Länge, die nicht zur Compilezeit feststeht, sind im neuesten C-Standard erlaubt. Der gcc hat eine Erweiterung, die das auch in C++ ermöglich. Im C++-Standard ist das aber (noch) nicht.

Geschrieben

Hmm na ich weiß nicht, da fand ich die vorherige Richtung konsequenter. So kommen bestimmt einige Leute auf die Idee das so zu machen:


int i;
scanf("%i",&i);
int szArray[i];
[/PHP]

Was ja immer noch nicht funktioniert, aber der Kompiler dürfte ja nicht mehr meckern...

Naja auf jeden Fall wieder was gelernt :)

Geschrieben
Na weil szArray zur Compilezeit festgelegt wird und i erst während der Laufzeit abgefragt wird?
szArray wird eben nicht schon zur Compilezeit festgelegt.

D.h. mit dem neuen Standard der als Größenangaben eine Nicht Kosntante zulässt hätte szArray doch dann eine zufällige Größe...
Wieso?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...