C ++创建一个动态的对象数组?

时间:2013-12-02 22:36:56

标签: c++ arrays object memory dynamic

所以我正在做一个单板滑雪游戏。我有一个名为障碍的障碍课。现在我正在创建一个Biome类,这样我就可以随机生成一些(2D)地形。以下是Biome类的定义:

class Biome
{ 
private:
    Obstacle * obstsInBiome;
public:
    Biome(Obstacle obsts[], int amountOfObsts);
    ~Biome();
    void draw(); // Draw the biome
};

然后这是构造函数

Biome::Biome(Obstacle obsts[], int amountOfObsts)
{
    obstsInBiome = new Obstacle [amountOfObsts]; // Creating array to hold the possible         obstacles in this biome
    for (int x = 0; x < amountOfObsts; x++) // Filling the obstacle array with the     obstacles passed in
    {
        obstsInBiome[x] = obsts[x];
    }
}

当我尝试将内存分配给数组obstsInBiome = new Obstacle [amountOfObsts];时,我收到错误:“没有用于调用Obstacle :: Obstacle()的匹配函数”

是否无法为对象动态分配内存?有人可以建议一种方法来存储每个生物群系中的可能对象吗?

感谢任何帮助,谢谢

0 个答案:

没有答案