C++ 错误:在c+;中找不到初始化基类的类+;

C++ 错误:在c+;中找不到初始化基类的类+;,c++,C++,子cktmgr从CPGENRICMANAGER和CPGENRICMANAGER从CPGENRICMANAGER获得授权。 请在下面找到层次结构 //CPManager COnstructor cpManager(); cpManager(const cpManagerResource &m); cpManager(cpObjectNotify *p); cpManager(const cpManagerResource &m, cpObjectNotify *p); //

子cktmgr从CPGENRICMANAGER和CPGENRICMANAGER从CPGENRICMANAGER获得授权。 请在下面找到层次结构

//CPManager COnstructor

cpManager();
cpManager(const cpManagerResource &m);
cpManager(cpObjectNotify *p);
cpManager(const cpManagerResource &m, cpObjectNotify *p);



//CpGenricManger Constructor

 class cpGenericMgr: public cpManager{
 public:

 cpGenericMgr(const std::string& serviceName);

cpGenericMgr(const cpManagerResource &m,const std::string& serviceName);
cpGenericMgr(cpObjectNotify *p,const std::string& serviceName);
cpGenericMgr(const cpManagerResource &m,cpObjectNotify *p,
    const std::string& serviceName);

// Destructor

virtual ~cpGenericMgr();
 }


//Sb_cktmgr
SB_CktMgr::SB_CktMgr(const cpManagerResource &m, const String& svcName) :
cpGenericMgr(m, svcName){
cpUdata dsm(USER_DATA);
this->userData(dsm);
即使层次结构是正确的,我们仍然会得到以下错误。请有人提出建议

      Error: Could not find cpGenericMgr::cpGenericMgr(const cpManagerResource, const String) to initialize base class.

您尚未定义构造函数:

cpGenericMgr::cpGenericMgr(const cpManagerResource&, const String&)
只有

定义了


String
转换为
std::String
或使用
const String&

定义一个构造函数是确切的编译器错误消息吗?您在答案中输入的错误几乎肯定不是您得到的确切错误。此外,您得到的错误几乎可以肯定地告诉您问题是什么。现在您已经解决了这个问题,以表示错误的实际状态:它告诉您没有
cpGenericMgr
构造函数接受
String
。没错,没有。所有
cpGenericMgr
构造函数都采用
std::string
。这是另一种类型;已声明并定义,为什么编译器无法找到该参数?@kara,因为您传递的参数不是类型
std::string
,而是类型
string
<代码>标准::字符串!=<代码>字符串
cpGenericMgr::cpGenericMgr(const cpManagerResource&, const std::string&)