おはようございます。現在、こちらのサイト
http://marupeke296.com/DXCLS_AutomationOfSaveLoad.html
でセーブ、ロードを実装しようとしています。
そこで、下記のマクロでクラス内の配列に「オブジェクトの開始位置から各メンバまでのアドレス差」を持たせようとしているのですが、「無効な型変換です」というエラーメッセージが出ます。
このマクロはコンストラクタで使っています。
調べてもアドレスを型変換するというのはあまり出てきません。ご教示お願い致します。
マクロ内の"0"の意味もよくわからないので、よければそちらも解説していただきたいです。
よろしくお願いします。
c++/CLI
1 2#define DATA_LOCAL( CLASSNAME, MEMBERNAME ) \ 3{\ 4 TYPE_LOCAL, \ //型の情報 5 ( (__int64)&((CLASSNAME*)0)->MEMBERNAME ), \ //オブジェクトの開始地点からのアドレス差 6 sizeof( ((CLASSNAME*)0)->MEMBERNAME ) \ //メンバのサイズ 7} 8 9#define DATA_END { TYPE_END, 0, 0}
環境はvisual studio テンプレートは CLR 空のプロジェクト(.NET framework)です。
回答1件
あなたの回答
tips
プレビュー