📅  最后修改于: 2023-12-03 14:55:53.104000             🧑  作者: Mango
在使用 CLion 进行编译时,可能会出现以下错误提示:
没有匹配的“operator new”函数用于非分配放置新表达式;包括<new>
这个错误提示通常会在使用 C++ 进行编程时出现,而且在没有进行任何特殊操作的情况下出现。这个问题主要是由于在使用 new 关键字时,没有正确的定义相应的操作符导致的。
解决这个问题的方法其实很简单,只需要在代码中添加一些特殊的操作符定义即可。下面我们介绍两种解决方案:
在代码中添加以下操作符定义:
void* operator new(std::size_t size) throw(std::bad_alloc)
{
// your implementation
}
void operator delete(void* p) throw()
{
// your implementation
}
根据需要,你可以将这些操作符定义到你的 main.cpp
文件中,或是在你的项目的某个头文件中定义。
另一种解决方案是添加以下头文件:
#include <iostream>
#include <cstdlib>
#include <new>
using namespace std;
添加这些头文件之后,你的代码就可以使用 new
关键字了。
在使用 C++ 进行编程时,遇到 没有匹配的“operator new”函数用于非分配放置新表达式;包括<new>
这个错误提示,通常是由于没有正确的定义相应的操作符导致的。要解决这个问题,只需要在代码中添加相应的操作符定义或是添加相应的头文件即可。