Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从另一个类中调用类的特定构造函数_C++_Object_Constructor - Fatal编程技术网

C++ 从另一个类中调用类的特定构造函数

C++ 从另一个类中调用类的特定构造函数,c++,object,constructor,C++,Object,Constructor,在我正在进行的项目中,我有一个名为“Camera”的外部类,在这个类中,我尝试实例化一个由名为“Frame”的类定义的对象。Frame类在其私有部分中包含以下内容: private: // No default ctor Frame(); // No copy ctor Frame( Frame& ); // No assignment operator Frame& operator=( const Frame& ); 因此,当我尝试实例化一个框架对象时,会出现一个

在我正在进行的项目中,我有一个名为“Camera”的外部类,在这个类中,我尝试实例化一个由名为“Frame”的类定义的对象。Frame类在其私有部分中包含以下内容:

private:

// No default ctor
Frame();
// No copy ctor
Frame( Frame& );
// No assignment operator
Frame& operator=( const Frame& );
因此,当我尝试实例化一个框架对象时,会出现一个错误,因为默认构造函数是私有的。然而,在框架的公共部分,有以下内容:

public:

Frame( char *pBuffer, int bufferSize );
这就是我在从摄影机中实例化帧时需要调用的构造函数。问题是我似乎不知道该怎么做。我对Camera类也有同样的问题(默认构造函数在private部分),但我所要做的就是解决这个问题:

Camera::Camera():mCamera(whatever params here){
    //constructor stuff here
}
在实现文件中。然而,当我尝试对Camera类内部的Frame做同样的事情时,我得到了大量错误

那么,如何从另一个对象的类内部调用对象的特定构造函数呢?

我猜您尝试对
Camera::Camera():mCamera():mFrame(NULL,0)
中的每个成员使用
。您需要使用
分隔初始值设定项,如下所示:

Camera::Camera() : mCamera() , mFrame(NULL, 0)

读一本书也可能是个好主意

您需要使用成员初始值设定项列表。请显示一个。@AlokSave,关于最后一个代码示例(以及后面的文本),有一些内容表明还有更多内容。当我尝试对Camera类内部的Frame执行相同操作时,您的意思是什么?请展示示例代码。您的问题不清楚:简单的答案是,您的操作方式与对
mCamera
所做的完全相同。但既然你问了,很明显,
Frame
有更棘手的地方。那么,棘手的部分是什么?问题中似乎缺少了它。这解决了问题。我试图在一个单独的代码块中完成所有工作,我不知道它可以附加到camera类的构造函数末尾。谢谢