3
私は、関数ポインタインスタンス化したい:ref/out関数ポインタを関数に渡すには?
static void GetProc (out function f) {
auto full = demangle(f.mangleof);
auto name = full[full.lastIndexOf('.')+1..$];
f = cast(typeof(f)) GetProcAddress(hModule,name.toStringz);
}
をしかし、コンパイラは、私は、関数型の変数(out function f)
を使用せません。私はObject
を使ってみましたが、明らかにfunction
はObject
ではありません。だから、function
をref
/out
という変数に渡すにはどうすればいいですか?(template
/mixin
を使用せずに、コードを隠して多くの文を追加します...)?
うんを使用し、機能のいずれかの種類をサポートしたい場合は、それが:-)方法ですが、あなたは「'function'と呼ばれる全くタイプがありません」とはどういう意味ですか?次のような "関数ポインタ"があります: 'Object function(int)MyFunc; MyFunc = MyOtherFunc; 'それじゃない? – Tar
@Tal:はい、タイプは 'function'ではなく' Object function(int) 'です。 – kennytm
O.k、そうです。それは 'value'か' reference'型ですか? (例えば) 'クラスX'が' Object'を継承するのと同じように、他の型を継承しませんか? – Tar