我有一个奇怪的错误。我正在尝试使用Map库,这样做会破坏我的代码。
我这样定义了我的地图:
map<int, int> myMap;
这打破了我的代码。如果我发表评论,一切都按预期运行。我的代码不是非常复杂或做任何奇怪的事情。
确切的错误是:
/tmp/ccapuHUe.o: In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, int>>>::decallocate(std::_Rb_tree_node<std::pair<int const, int>>*, unsigned int)`:
program.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEE10deallocateEPS5_j[__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, int>>>::deallocate(std::_Rb_tree_node<std::pair<int const, int>>*, unsigned int)]+0xd: undefined reference to `operator delete(void*)`
/tmp/ccapuHue.0:(.eh_frame+0x4b): undefined reference to `__gxx_personality_v0`
collect2: ld returned 1 exit status
我不知道这意味着什么。我甚至没有使用其他地图功能,只是初始化(一旦我将其排除,我将添加其他功能)。
如果重要的话,我的gcc是版本4.3.6。
只是 某些 ,我测试了以下代码:
#include <map>
int main(int argc, char* argv[])
{
std::map<int, int> myMap;
return 0;
}
这也不起作用!我得到了同样的错误(除了.text位置)!
我做错了吗? C ++ Map构造函数的Documentation表明这是一个有效的构造。我的电脑有什么问题吗?