1 2 3 4 5 6 7 8 9 10 11 12 | #include <memory> struct A {}; struct B : A {}; int main() { auto x = std::make_shared<A>(); if (auto p = dynamic_pointer_cast<B>(x)); } |
I2luY2x1ZGUgPG1lbW9yeT4KCnN0cnVjdCBBIHt9OwoKc3RydWN0IEIgOiBBIHt9OwoKaW50IG1haW4oKQp7CglhdXRvIHggPSBzdGQ6Om1ha2Vfc2hhcmVkPEE+KCk7CglpZiAoYXV0byBwID0gZHluYW1pY19wb2ludGVyX2Nhc3Q8Qj4oeCkpOwp9Cg==
prog.cpp: In function 'int main()': prog.cpp:10:15: error: 'dynamic_pointer_cast' was not declared in this scope prog.cpp:10:37: error: expected primary-expression before '>' token prog.cpp:10:40: error: unable to deduce 'auto' from '<expression error>'
-
result: Compilation error (maybe you wish to see an example for C++11)


