【初心者歓迎】C/C++室 Ver.46【環境依存OK】
at TECH
557:デフォルトの名無しさん
08/01/10 15:24:17
>>556
callbackAを呼ぶときはpにはA*をvoid*にしたものを渡せばいいし
callbackBを呼ぶときはpにはB*をvoid*にしたものを渡せばいいが
どうしてもpにはD*を渡したいけどDは公開できないというのはわりと無理め
いくらか妥協するなら例えば
class Z {
virtual void dummy(){}
};
みたいなダミーを用意して
class D: public C, public Z { ... };
としてDにZを継承させ
void callbackA(Z *p) {
A *a = dynamic_cast<A *>(p);
a->MesA();
}
って方法もある
引数の型を変えたくないなら
void callbackA(void *p) {
A *a = dynamic_cast<A *>((Z*)p);
a->MesA();
}
とか
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4254日前に更新/166 KB
担当:undef