g++编译出现对 operator delete未定义的引用怎么解决
时间: 2024-05-29 22:16:00 浏览: 15
这个错误通常是由于在代码中使用了动态内存分配(new/delete或malloc/free),但是没有包含正确的头文件或者没有正确链接所致。以下是一些可能的解决方法:
1. 确保你的代码中包含了正确的头文件,如 `<iostream>` 和 `<cstdlib>`。
2. 确保你在编译时链接了正确的库文件。如果你使用的是标准C++库,那么需要链接 `libstdc++` 库。
3. 如果你在代码中实现了自己的 `operator new` 和 `operator delete`,那么需要确保它们被正确地定义和链接。
4. 如果你使用了第三方库,那么需要检查你是否正确地链接了该库。
希望这些方法能帮助你解决问题。
相关问题
operator new operator delete
operator new和operator delete是C++中的内存分配和释放函数。它们可以用来为对象和数组动态分配内存,也可以用来进行其他需要动态分配内存的操作。
operator new函数用于动态分配内存,它可以接受一个或两个参数。第一个参数表示要分配的内存大小,第二个参数表示对齐方式。operator new函数会返回指向分配的内存块的指针。
operator delete函数用于释放由operator new分配的内存块,它可以接受一个或两个参数。第一个参数表示要释放的内存块的指针,第二个参数表示对齐方式。
需要注意的是,使用operator new和operator delete函数进行内存分配和释放时,需要手动调用构造函数和析构函数。因为这些函数只会分配或释放内存,不会调用构造函数或析构函数。
Undefined symbol: operator delete(void*)
这个错误提示通常发生在 C++ 中,表示你尝试使用了未定义的 operator delete 函数。有两种可能的原因:一是你没有正确包含头文件,二是你使用了不合适的参数。请检查你的代码,确保正确包含了相应的头文件,并且传递给 operator delete 函数的参数类型正确。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)