C++ Comiler abweichungen von VS 6 auf VS8
-
Hallo,
Ich habe Visual Studio 8.0 installiert. Nun wollte ich meinen "alten" Code mal neu compilieren lassen , dabei bekomme ich aber Fehler , die ich bei der älteren Version nicht hatte.
Könnte es sein, das der neue Compile nach strengeren "Regeln" compiliert wird?
z.B konnte ich folgedes in VS 6 machen, was in VS 8 nicht mehr geht:
for(int i = 0, j = 0; ...)
also eine Mehrfach dekleration in einer For-Schleife.
Dessweiterem gibt es da noch Fehler bei der Syntax von Funktionzeigern:
z.B. konnte ich in VS6 diese Funktionzeigerzuweisung machen:void (CStalker::*pfncAktionHandler[MAX_ACTION_HANDLER] )(strAktionData &);
void List( strAktionData & Data);pfncAktionHandler[0] = List; //geht nicht mehr
Bei der neuen Version bekomme ich dort Folgenden Fehler:
error C3867: 'CStalker::List': function call missing argument list; use '&CStalker::Test' to create a pointer to member
Wurde in der neuen Compiler Verison etwas die Syntax verändert?
Gruß Stu
-
Lange wohl hinterm Mond gelebt?
Seit 1998 (!!!) gibts einen ISO-C++ Standard weltweit. Den hat VC6 nicht unterstützt. Seit VC7.1 (2003) wird der ISO-C++ Standard unterstützt. Nichts mit stengere Regeln oder so, sondern "Normalität".
-
mhhh ich hab mich auch schon gewundernt, warum das auch nicht der GNU compiler compilieren wollte - das erklärt so einiges :).
Danke.
-
Bzgl. dem for-Skope siehe:
/Zc:forScope (Force Conformance in for Loop Scope) (C++)
http://msdn2.microsoft.com/84wcsx8x