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 30 31 32 33 34 35 36 | #include <functional> #include <iostream> using namespace std; const function<void()>* pointer; void a(const function<void()> & f) { pointer = &f; } void b() { (*pointer)(); } int main() { int value = 1; std::cout << value << std::endl; // 1: this works function<void()> f = [&] () { std::cout << value << std::endl; }; a(f); // 2: this doesn't a([&] () { std::cout << value << std::endl; }); //c(); char data[1024]; for (int i = 0; i < 1024; i++) data[i] = i % 4; b(); return 0; } |
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGZ1bmN0aW9uPHZvaWQoKT4qIHBvaW50ZXI7Cgp2b2lkIGEoY29uc3QgZnVuY3Rpb248dm9pZCgpPiAmIGYpCnsKICAgIHBvaW50ZXIgPSAmZjsKfQoKdm9pZCBiKCkKewogICAgKCpwb2ludGVyKSgpOwp9CgppbnQgbWFpbigpCnsKICAgIGludCB2YWx1ZSA9IDE7CiAgICBzdGQ6OmNvdXQgPDwgdmFsdWUgPDwgc3RkOjplbmRsOwoKICAgIC8vIDE6IHRoaXMgd29ya3MgICAgCiAgICBmdW5jdGlvbjx2b2lkKCk+IGYgPSBbJl0gKCkgeyBzdGQ6OmNvdXQgPDwgdmFsdWUgPDwgc3RkOjplbmRsOyB9OwogICAgYShmKTsKCiAgICAvLyAyOiB0aGlzIGRvZXNuJ3QKICAgIGEoWyZdICgpIHsgc3RkOjpjb3V0IDw8IHZhbHVlIDw8IHN0ZDo6ZW5kbDsgfSk7CiAgICAvL2MoKTsKICAgIGNoYXIgZGF0YVsxMDI0XTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAyNDsgaSsrKQogICAgICAgIGRhdGFbaV0gPSBpICUgNDsgCgogICAgYigpOwoKICAgIHJldHVybiAwOwp9
-
upload with new input
-
result: Runtime error time: 0s memory: 3016 kB signal: 11 (SIGSEGV)
1


