C++ 双astrik语法&;帮助调用成员函数

C++ 双astrik语法&;帮助调用成员函数,c++,syntax,C++,Syntax,我在做一个有航空班的项目。Airline类包含一个对动态Flight对象数组有效的变量 在我的航空公司课程中(无法编辑或更改,这是分配给我的头文件): 我正在尝试实现类中的一个find方法 为此,我: Flight* Airline::find(int flightNum){ bool found = false; for(int i = 0; i < size; i++){ if(array[i].getflightNum() == flight

我在做一个有航空班的项目。Airline类包含一个对动态Flight对象数组有效的变量

在我的航空公司课程中(无法编辑或更改,这是分配给我的头文件):


我正在尝试实现类中的一个find方法

为此,我:

    Flight* Airline::find(int flightNum){
    bool found = false;
    for(int i = 0; i < size; i++){
        if(array[i].getflightNum() == flightNum){
            found = true;
            return array[i];
        }
    }

    if(!found)
        return 0;
}

// Return pointer to flight with given number if present, otherwise
// return 0.
Flight*航空公司::查找(int flightNum){
bool-found=false;
对于(int i=0;i

但这意味着在尝试调用getFlightNum()方法时需要一个类类型。我真的不明白这个错误。我没有正确调用该方法吗?正确的语法是什么?

由于您处理的是指针而不是实际对象,请尝试以下方法:

if(array[i]->getflightNum() == flightNum){     // Notice I am using -> instead of .
    found = true;
    return array[i];
}

由于您处理的是指针而不是实际对象,请尝试以下操作:

if(array[i]->getflightNum() == flightNum){     // Notice I am using -> instead of .
    found = true;
    return array[i];
}

尝试
array[i]->getflightNum()
您还可以从
Airline::find
中删除
found
的所有实例,因为当您找到该项时,您会立即从函数返回。因此,如果(!found)
,您也不需要
,如果您在代码中找到了该点,那么您就没有找到该项,也不需要检查
返回0
。请尝试
数组[i]->getflightNum()
您还可以从
Airline::find
中删除
found
的所有实例,因为当您找到项目时,您会立即从功能中返回。因此,如果(!found)
,您也不需要
,如果您在代码中找到该点,那么您就没有找到该项,也不需要检查
返回0
if(array[i]->getflightNum() == flightNum){     // Notice I am using -> instead of .
    found = true;
    return array[i];
}