template < typename  Type, typename > 
struct  type_wrapper { 
    Type value; 	
} ; 
 
typedef  type_wrapper< int , class  Person>  PersonId; 
typedef  type_wrapper< int , class  Group>  GroupId; 
 
void  queryPersonName( PersonId id)  { } 
 
int  main( )  { 
	GroupId id =  {  10  } ; 
	queryPersonName( id) ; 
} 
dGVtcGxhdGU8dHlwZW5hbWUgVHlwZSwgdHlwZW5hbWU+CnN0cnVjdCB0eXBlX3dyYXBwZXIgewogICAgVHlwZSB2YWx1ZTsJCn07Cgp0eXBlZGVmIHR5cGVfd3JhcHBlcjxpbnQsIGNsYXNzIFBlcnNvbj4gUGVyc29uSWQ7CnR5cGVkZWYgdHlwZV93cmFwcGVyPGludCwgY2xhc3MgR3JvdXA+IEdyb3VwSWQ7Cgp2b2lkIHF1ZXJ5UGVyc29uTmFtZShQZXJzb25JZCBpZCkge30KCmludCBtYWluKCkgewoJR3JvdXBJZCBpZCA9IHsgMTAgfTsKCXF1ZXJ5UGVyc29uTmFtZShpZCk7Cn0=
				
				 
			
				
			
			
				
	
		
	
		 
	prog.cpp: In function 'int main()':
prog.cpp:13:20: error: could not convert 'id' from 'GroupId {aka type_wrapper<int, Group>}' to 'PersonId {aka type_wrapper<int, Person>}'
  queryPersonName(id);
                    ^