簡體   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