返信する: 汎用質問板



オプション

参照

is(typeof({}()))
投稿者: tama 投稿日時: 2010/4/7 3:07
Andreiがstd.rangeとかで使っているこれ,「delegateを呼び出して,それが動けばOK」と思ってたんですが
#code(d){{{
template hasFoo(T)
{
enum bool hasFoo = is(typeof(
{
T t;
t.foo;
}()));
}

struct A { void foo() {} }
class B { void foo() {} }

hasFoo!(A); // true
hasFoo!(A*); // true
hasFoo!(B); // true
hasFoo!(B*); // true
}}}
となって分からなくなりました(Rangeは構造体だけなので気付かなかった).これってどういう原理なんですかね?
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu