template < bool , typename >
struct enable_if
{
} ;
template < typename T>
struct enable_if< true , T>
{
typedef T type;
} ;
template < int i>
struct foo
{
template < typename enable_if< i== 1 , int > :: type >
void helper( int ) { }
void f( int , char ) { }
void f( int z) { helper< 0 > ( z) ; }
} ;
int main( )
{
foo< 2 > k;
k.f ( 0 , 0 ) ;
}
dGVtcGxhdGU8Ym9vbCwgdHlwZW5hbWU+CnN0cnVjdCBlbmFibGVfaWYKewp9OwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kc3RydWN0IGVuYWJsZV9pZjx0cnVlLCBUPgp7Cgl0eXBlZGVmIFQgdHlwZTsKfTsKCnRlbXBsYXRlPGludCBpPgpzdHJ1Y3QgZm9vCnsKCXRlbXBsYXRlIDx0eXBlbmFtZSBlbmFibGVfaWY8aT09MSwgaW50Pjo6dHlwZT4KICAgIHZvaWQgaGVscGVyKGludCl7fQoKICAgIHZvaWQgZihpbnQsIGNoYXIpe30KICAgIHZvaWQgZihpbnQgeil7IGhlbHBlcjwwPih6KTsgfQp9OwoKaW50IG1haW4oKQp7Cglmb288Mj4gazsKCWsuZigwLCAwKTsKfQ==