如何动态分配指向对象的数组?

时间:2015-12-10 18:17:15

标签: c++ arrays

我不知道马的数量。我已经尝试过这样做,但是我遇到了错误,我不知道为什么。我基本上是在尝试创建一个指向对象的指针数组。所有的课程都叫做马。这就是我所拥有的。我仍然从c ++编译器中得到错误。

horse::horse(string horse_Name, string rider_Name, int distance_Traveled, int max_Distance_Per_Second)
{

    distance_Traveled = 0;
    const int number_Of_Horses = 1;

    horse **ptr = new horse*[number_Of_Horses];

    *ptr[number_Of_Horses] =
    {
    horse(horse_Name, rider_Name, distance_Traveled, max_Distance_Per_Second)
    };


    max_Running_Distance_Per_Second(max_Distance_Per_Second);

}

1 个答案:

答案 0 :(得分:0)

distance_Traveled = 0;

由于distance_Traveled未通过引用传递,因此不会更改原始值。这可能是一个错误。

horse **ptr = new horse*[number_Of_Horses];

正确声明此指针;但是,当你尝试使用迭代(或其他表达式,只是我的猜想)时,你必须要小心,因为:

当它是数组时,* ptr [number_Of_Horses]是非法的,因为数组以0开始,而不是1.这是一个常见错误。这可能是一个主要问题。