1

请看下面的代码

车辆管理器.h

#pragma once
#include "Vehicle.h"

class VehicleManager
{
public:
    VehicleManager(int size);
    ~VehicleManager(void);

    bool add(Vehicle *v);
    void display();
    int getCount();
    Vehicle **getList();

private:
    int count;
    int maxVehicles;
    Vehicle** vehicles;
};

车辆管理器.cpp

//Other Code

Vehicle VehicleManager::**getList()
{
    return vehicles;
}

//Other Code

在这里,我无法返回数组。如何从函数返回动态指针数组?请帮忙!

4

1 回答 1

4

将 应用于**返回类型:

Vehicle** VehicleManager::getList()
{
    return vehicles;
}

但是你真正应该做的是使用std::vector<Vehicle*>ifVehicleManager负责动态分配的生命周期Vehicles,或者std::vector<std::unique_ptr<Vehicle>如果调用者要获得所有权。在这两种情况下,您都可以按值返回它。

于 2012-12-21T07:01:04.890 回答