在我正在開發的項目中,我有一個名爲「Camera」的外部類,在這個類的內部,我正在實例化一個名爲「幀」。 Frame類有這個在它的私有部分:在另一個類中調用一個類的特定構造函數
private:
// No default ctor
Frame();
// No copy ctor
Frame(Frame&);
// No assignment operator
Frame& operator=(const Frame&);
所以我得到一個錯誤,當我嘗試實例化一個框架對象,因爲默認的構造函數是私有的。在框架的公共部分,然而,有這樣的:
public:
Frame(char *pBuffer, int bufferSize);
所以這是我需要從相機中實例化幀時調用構造函數。問題是我似乎無法弄清楚如何做到這一點。我不得不用相機類(其中默認的構造函數是private部分)同樣的問題,但我不得不這樣做,以解決這個問題是:
Camera::Camera():mCamera(whatever params here){
//constructor stuff here
}
在實現文件
。但是,當我嘗試在Camera類中爲Frame執行相同的操作時,出現大量錯誤。
那麼我該如何從另一個對象的類中調用一個對象的特定構造函數呢?
您需要使用成員初始值設定項列表。 –
請顯示[sscce](http://sscce.org/)。 – chris
[構造函數中這個奇怪的冒號成員語法是什麼意思?]可能重複(http://stackoverflow.com/questions/1711990/what-is-this-weird-colon-member-syntax-in-the-constructor ) –