私有构造函数错误

Private Constructor Error C++

本文关键字:错误 构造函数      更新时间:2023-10-16

我试图在c++中第一次使用单例模式写一个类,我得到一个错误,只是通过使我的构造函数私有,我使用xcode 3.2并与gcc 4.2编译:

class GameDirector {
private:
  //Singleton instance
  static GameDirector* director;
  //Constructor
  GameDirector(); //THIS LINE GIVES ME THE ERROR
public:
  //Singleton pattern
  static GameDirector* sharedDirector();
};

它给了我两个错误:

error: 'GameDirector::GameDirector()' is private
error: within this context

我不明白为什么它给我一个错误,我以为你允许在c++中使构造函数私有…

表示"在此上下文中"的那一行应该将你引导到代码中有人试图分配GameDirector对象而不是使用sharedDirector方法的点。

错误的部分"在这个上下文中"应该有一个行号,它指向你的一段代码不是在你的类定义中,而是在某个地方你意外地试图直接创建GameDirector而不是通过sharedDirector方法。

你是。

您必须尝试在某处实例化GameDirector类型的对象。

您正在尝试在其他地方创建GameDirector实例。您发布的代码片段编译没有错误。