用NEW生成对象时的error C2660(详细见下)
来源:百度知道 编辑:UC知道 时间:2024/05/16 15:43:39
我用这个语句准备生成一对象:CPoint_Param * param = new CPoint_Param();
其中类继承关系如下:CPoint_Param: public CParameter_Base: public CObject_Base,在类CObject_Base中有如下重载函数:void* operator new(unsigned int size);void* operator new [](unsigned int size);
编连是出错:error C2660: “CObject_Base::operator new” : 函数不接受 3 个参数。
我在new前加 :: 时不报错,但用param来调用成员函数是不行的。我想在这两种情况下对象其实都没生成成功,虽然param!=NULL;请问这个问题是怎么回事?我只有20分积分来悬赏:),请高手指点。多谢!
CPoint_Param *param = new CPoint_Param;试试
另外vc6中无operator new[],定义它有可能会出现问题。
你说的这种情况我也试过了,结果还是一样.另外我的环境是.NET03或05.
inline void* CObject_Base::operator new(unsigned int size)
{
void* alloc = ::operator new( size );
return alloc;
}
就象你所说的,把“#define new DEBUG_NEW”这一句注释掉,问题就解决了,多谢您!但DEBUG版和RELEASE版都不注释的话都会出错,这点又有点奇怪,你怎么看?
我看了那篇资料了,很不错,网上难找到这样的文章,我的问题也解决了,真的非常感谢!
其中类继承关系如下:CPoint_Param: public CParameter_Base: public CObject_Base,在类CObject_Base中有如下重载函数:void* operator new(unsigned int size);void* operator new [](unsigned int size);
编连是出错:error C2660: “CObject_Base::operator new” : 函数不接受 3 个参数。
我在new前加 :: 时不报错,但用param来调用成员函数是不行的。我想在这两种情况下对象其实都没生成成功,虽然param!=NULL;请问这个问题是怎么回事?我只有20分积分来悬赏:),请高手指点。多谢!
CPoint_Param *param = new CPoint_Param;试试
另外vc6中无operator new[],定义它有可能会出现问题。
你说的这种情况我也试过了,结果还是一样.另外我的环境是.NET03或05.
inline void* CObject_Base::operator new(unsigned int size)
{
void* alloc = ::operator new( size );
return alloc;
}
就象你所说的,把“#define new DEBUG_NEW”这一句注释掉,问题就解决了,多谢您!但DEBUG版和RELEASE版都不注释的话都会出错,这点又有点奇怪,你怎么看?
我看了那篇资料了,很不错,网上难找到这样的文章,我的问题也解决了,真的非常感谢!
CPoint_Param *param = new CPoint_Param;试试
另外vc6中无operator new[],定义它有可能会出现问题。
operator new()内部实现是怎样的
照你目前的给出的代码来说应该是没有什么错误的。编译release版会出错么?如果不会的话,应该就是debug版的宏定义的问题。把“#define new DEBUG_NEW”这1句注释掉看看。
具体的解释你可以参看这篇文章:
http://blog.csdn.net/pll621/archive/2005/06/13/393302.aspx
用NEW生成对象时的error C2660(详细见下)
我的c++在生成可执行文件时出现了错误:Error spawning link.exe
java 创建一个类,然后new一个对象的问题
用Dim as New生成label怎么绑定数据库呢
java中,用ArrayList无参的构造方法new出来的对象,其长度是不是固定的10?
javascript生成的image对象fileSize总是返回-1是怎么回事
eclipse根据数据库表生成bo对象用什么插件?
asp error对象怎么用法?
实例化对象采用MyClass myObject=new MyClass()语法,这个是C#中的语实例化对象的语法
我的电脑每隔几分钟就会自动生成一个graybird,名字叫system.exe.NEW.我用的是赛门铁克,杀了它再生,怎么办?