[英]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.