1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> using namespace std; struct sample { int member; }; template<typename TArg, typename TBody> void g(TArg & p) { TBody v = p.member; return; } int main() { sample s = { 100 }; g(s); return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBzYW1wbGUKewogICAgICAgIGludCBtZW1iZXI7Cn07CnRlbXBsYXRlPHR5cGVuYW1lIFRBcmcsIHR5cGVuYW1lIFRCb2R5Pgp2b2lkIGcoVEFyZyAmIHApCnsKCVRCb2R5IHYgPSBwLm1lbWJlcjsKCXJldHVybjsKfQppbnQgbWFpbigpIHsKCQogICAgICAgIHNhbXBsZSBzID0geyAxMDAgfTsKICAgICAgICBnKHMpOwoJcmV0dXJuIDA7Cn0=
prog.cpp: In function ‘int main()’: prog.cpp:18: error: no matching function for call to ‘g(sample&)’
-
result: Compilation error (maybe you wish to see an example for C++ 4.7.2)


