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=
compilation info
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);
^
stdout