使用新的运算符编译的错误C2661:\'CObject :: operator new\':没有重载的函数接受4个参数(多重继承)

| 我在头文件中有下面的类
class CodeListSqlGenerator : public ICodeListSqlGenerator,public CDialog


{
    ........
public:
CodeListSqlGenerator(IIntelligentCodeListUpgraderParameter *i_intelligent_codelist_upgrader_parameter);
}
当我在.cpp文件中使用新运算符创建CodeListSqlGenerator类型的对象时
ICodeListSqlGenerator *CreateCodeListSqlGeneratorInterface(IIntelligentCodeListUpgraderParameter *i_intelligent_codelist_upgrader_parameter)
{
ICodeListSqlGenerator *i_codelist_sql_generator = new CodeListSqlGenerator(i_intelligent_codelist_upgrader_parameter);
return i_codelist_sql_generator;
}
编译错误C2661时,我得到以下信息:\'CObject :: operator new \':没有重载函数需要4个参数 如何纠正此错误? 在此先感谢-Athreya     
已邀请:
DEBUG_NEW宏必须更改。检查是否包含预处理器#undef new, 尝试在new关键字之前编写#undef new     
似乎您正在尝试使用CodeListSqlGenerator构造函数创建ICodeListSqlGenerator对象。无法完成此操作,因为ICodeListSqlGenerator已经具有自己的构造函数。但是,CodeListSqlGenerator对象是ICodeListSqlGenerator,因此您可以创建CodeListSqlGenerator对象并将其指针作为ICodeListSqlGenerator指针返回。     

要回复问题请先登录注册