vec.push_back(std::unique_ptr<B>(b)); } 其失败原因如下。 main.cpp: In function 'int main()': main.cpp:23:18: error: no matching function for call to 'std::vector<std::any>::push_back(std::unique_ptr<A>)' 23 | vec.push_back(std::unique_ptr<A>(a)); | ~~~^~~~ In...
所有的std::shared_ptr示例总是可以转换成std::shared_ptr<void>。删除器是类型擦除的,仍然会被调用...