2012-04-11 5 views
0

Ich stehe "Access Violation Error" in Visual Studio 2008, aber der gleiche Code funktioniert gut in VS2002. Ich habe die Projekteinstellungen verifiziert beide sind gleich. Ich denke, es gibt Unterschiede in der Handhabung der Zeiger in VS2008. Ich denke, ich vermisse etwas.Zugriffsverletzung in VS2008, aber nicht in VS2002

Kann jemand helfen?

Beispielcode unten angegeben.

schemap = (typ_ty_schema *)((dbs_ty_obj *)obj)->f_schema; 

nach dieser Zeile Wert Ausführung sind jedoch nicht zugewiesen bekommen schemap i

Bitte helfen in ((dbs_ty_obj *)obj)->f_schema

siehe Werte können.

Niks

+0

Wir haben nicht genug Informationen, um Ihnen zu helfen. Bei der Verwendung von C++ - und insbesondere STL-Containern kann dieses Problem auftreten, wenn Sie Binärdateien mischen, die mit VS2002 und 2008 kompiliert wurden. – Jem

Antwort

4

Ich glaube nicht, dass dies etwas mit Zeigern wird anders behandelt zu tun hat. Dies ist wahrscheinlich nur ein Fehler in Ihrem Code, der aus irgendeinem Grund (unterschiedliche Codegenerierung, Speicherzuordnung usw.) in dem von VS2002 generierten Code verborgen war.