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);
}
答案 0 :(得分:0)
distance_Traveled = 0;
由于distance_Traveled未通过引用传递,因此不会更改原始值。这可能是一个错误。
horse **ptr = new horse*[number_Of_Horses];
正确声明此指针;但是,当你尝试使用迭代(或其他表达式,只是我的猜想)时,你必须要小心,因为:
当它是数组时,* ptr [number_Of_Horses]是非法的,因为数组以0开始,而不是1.这是一个常见错误。这可能是一个主要问题。