1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <set> struct Base { virtual int F(int); }; struct Derived : public Base { int F(int); }; template<typename Type, typename Return, typename Parameter, Return (Type::*)(Parameter)> struct W { }; int main(int argc, char **argv) { typedef std::set<int> setint; std::pair<setint::iterator, bool> (setint::*p_1)(const setint::value_type &) = &setint::insert; W<setint, std::pair<setint::iterator, bool>, const setint::value_type &, &setint::insert> w_1; int (Derived::*p_2)(int) = &Derived::F; W<Derived, int, int, &Derived::F> w_2; return 0; } |
I2luY2x1ZGUgPHNldD4KCnN0cnVjdCBCYXNlCnsKICAgIHZpcnR1YWwgaW50IEYoaW50KTsKfTsKCnN0cnVjdCBEZXJpdmVkIDogcHVibGljIEJhc2UKewogICAgaW50IEYoaW50KTsKfTsKCnRlbXBsYXRlPHR5cGVuYW1lIFR5cGUsIHR5cGVuYW1lIFJldHVybiwgdHlwZW5hbWUgUGFyYW1ldGVyLCBSZXR1cm4gKFR5cGU6OiopKFBhcmFtZXRlcik+IHN0cnVjdCBXCnsKfTsKCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKewoJdHlwZWRlZiBzdGQ6OnNldDxpbnQ+IHNldGludDsKCglzdGQ6OnBhaXI8c2V0aW50OjppdGVyYXRvciwgYm9vbD4gKHNldGludDo6KnBfMSkoY29uc3Qgc2V0aW50Ojp2YWx1ZV90eXBlICYpID0gJnNldGludDo6aW5zZXJ0OwoJVzxzZXRpbnQsIHN0ZDo6cGFpcjxzZXRpbnQ6Oml0ZXJhdG9yLCBib29sPiwgY29uc3Qgc2V0aW50Ojp2YWx1ZV90eXBlICYsICZzZXRpbnQ6Omluc2VydD4gd18xOwoKICAgIGludCAoRGVyaXZlZDo6KnBfMikoaW50KSA9ICZEZXJpdmVkOjpGOwoJVzxEZXJpdmVkLCBpbnQsIGludCwgJkRlcml2ZWQ6OkY+IHdfMjsKCglyZXR1cm4gMDsKfQo=
-
upload with new input
-
result: Success time: 0.01s memory: 2676 kB returned value: 0


