C++/CLI Rätsel: Wie sieht der Callstack aus?
Saturday, April 18th, 2009Hier ist ein kleines Rätsel aus meiner C++/CLI Schulung, die ich letzte Woche gehalten habe:
Der Code wurde mit “/clr” kompiliert (das ist wichtig).
Kann mir jemand sagen, wie der genaue Callstack innerhalb der Methode “Foo” aussieht?
Und: Wie kann man indirekt nachweisen, was genau passiert?
Meine Schulungsteilnehmer dürfen natürlich nicht mitmachen, die wissen es ja schon
struct V { V() {} V(const V &v) { this->i = v.i; } int i; }; class C { public: void CallFoo() { V v; Foo(v); } virtual void Foo(V v) { // TODO: Wie sieht der Callstack aus? } }; int main() { C c; c.CallFoo(); }
Lösungen können als Kommentare gepostet werden.
Ein kleiner Hinweis noch: VS208 zeigt nicht den exakten Callstack an, aber er zeigt, dass da irgendwas noch passiert sein muss ![]()