gpt4 book ai didi

C++ map.clear() 纯虚方法运行时报错

转载 作者:行者123 更新时间:2023-11-28 08:18:18 29 4
gpt4 key购买 nike

我认为问题可能源于使用 boost::shared_ptrs 作为键值。

//header file:
#include <map>
std::map<boost::shared_ptr<foo>, bar> myMap; // Private member variable

//////////
myMap.insert(pair);
//////////
myMap.clear()

foo 和 bar 都不是抽象类。此时,在运行时,我将收到“调用纯虚方法”错误,我的程序将终止。我还尝试遍历 map 并使用 myMap.erase(iterator),这会产生相同的错误。

最佳答案

如果 bar 是一个多态类型,当你对它进行切片时。根据析构函数正在执行的操作,它可以访问纯虚方法。

关于C++ map.clear() 纯虚方法运行时报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6885265/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com