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