Moin,
Sieht die Codestelle denn noch genauso aus wie im Quelltext oder wurde etwas mit Makros verändert?
Ja, außer dass an zwei nachfolgenden Stellen das Makro TRACE durch "__noop" ersetzt wurde ...
Wenn ich richtig verstanden habe, muss ich es wohl durch ATLTRACE (oder besser ATLTRACE2 ? ) ersetzen ...
Welchen Typ haben die Variablen? Handelt es sich wirklich um long oder ist das ein typedef welches irgendwo definiert ist?
nein, "echtes" long sowie ersten Post geschrieben
Ansonsten könntest du ja mal ein Minimalbeispiel machen wo du genau diesen Fehler bekommst.
ok, muss ich mal heute Nachmittag schauen, ob ich das hinbekomme - hab' mich damit bislang wenig auseinandersetzen müssen
Und um welchen Operator geht es denn überhaupt? Nimm doch mal die Anweisung auseinander.
Also da der Fehler in der Zeile
C++:
bLizCheck = ( lLizFlag & m_lLicenseNSLAktuell ) == lLizFlag;
auftritt, wird es ja wohl ein deutig das "&" sein, oder ?
Du solltest das Makro _WIN32_WINNT definieren um einzustellen für welche Windows Version der Code kompiliert werden soll.
Habe diesbezüglich mal ein wenig gegoogelt ...
Habe jetzt im MFC-Header "stdafx.h" folgende Stelle gefunden:
C++:
#undef _WIN32_WINNT
#define _WIN32_WINNT _WIN32_WINNT_MAXVER
gefunden ....
Lt.
http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx müsste ich hier dann ja wohl
#define _WIN32_WINNT_WIN7 0x0601
einfügen ...
Jetzt frage ich mich nur, ob das o. g. define dann raus kann/muss
Allerdings erwähnst du so beiläufig das es eine (endlos) lange Fehlerlist gibt.
Evlt. ist der C2678 auch nur ein Folgefehler?
Das denke ich nicht, das dies der einzige Fehler für diese Source ist.
Neben einigen inkompatiblen LIBs (bspw. zu regex) kommen natürlich ellenlang Fehler wie
- ersetze
sprintf durch
sprintf_s etc.
- bisher reichte es eine Zählvariable für mehrere for-Schleifen innerhalb der ersten zu deklarieren und dann in weiteren zu verwenden ...
das geht nun scheinbar mehr und wird hier hundertfach angemeckert!
Code:
// alt
for( int i = 0; i < X; i++) {}
for( i = 0; i < Y; i++) {}
// neu
for( int i = 0; i < X; i++) {}
for( int i = 0; i < Y; i++) {} // !
So, das reicht erstmal - werde mich nach dem Mittag mal an einem Minimalbeispiel versuchen
Gruß
Klaus