繁体   English   中英

C++如何返回动态分配的数组

[英]C++ How to return dynamically allocated array

我没有匹配的函数调用错误如何在不使用向量的情况下解决这个问题。

这是我的标题,我在cpp fList方法部分收到错误。

    class Flight{
    public:
    Flight(int fly,int rw,int st);
    ~Flight();
    Flight* fList(int& sizeOfArray);




    private:
    int FlightNumber;
    int row;
    int seat;
    int* flightArray;


};

这是我的cpp

        #include <iostream>
        #include <string>
        using namespace std;
        #include "Flight.h"

        Flight::Flight(int fly,int rw,int st){
            FlightNumber = fly;
            row = rw;
            seat = st;

        }
        Flight::~Flight(){};
        Flight* Flight::fList(int& sizeOfArray){
            flightArray = new Flight[sizeOfArray];
            return flightArray;
        }

在此处输入图片说明

所以

int* flightArray;

应该

Flight* flightArray;

您的代码正在分配一个Flights数组,但您的变量是为整数而不是航班声明的。

另外,正如@MikeCAT 所指出的,如果要使用new[]分配它们,则需要为Flight设置默认构造函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM