C++ 如何将指针数组动态分配给对象?
我不知道马的数量。我已经试过了,但是我有错误,我不知道为什么。我基本上是在尝试创建一个指向对象的指针数组。所有东西都在的那个班叫马。这是我的。我仍然从C++编译器中获得错误。C++ 如何将指针数组动态分配给对象?,c++,arrays,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_Horse
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);
}
由于未通过引用传递所经过的距离,因此不会更改原始值。这可能是一个错误
horse **ptr = new horse*[number_Of_Horses];
该指针声明正确;然而,当您尝试使用迭代(或其他表达式,仅限于我的猜测)时,您必须小心,因为:
当它是一个数组时,*ptr[number_Of_Horses]是非法的,因为数组以0而不是1开头。这是一个常见的错误。这可能是一个主要问题。您遇到了哪些错误?您的问题不清楚您试图完成什么,以及您在哪里看到了错误。看见
horse **ptr = new horse*[number_Of_Horses];