【问题标题】:What does it mean by "Airplanes" does not provide a subscript operator"“飞机”不提供下标运算符是什么意思
【发布时间】:2015-04-26 23:22:54
【问题描述】:

我已经创建了一个飞机类型的结构变量,但是我一直在试图弄清楚为什么我在 if 状态““飞机”不提供下标运算符”上出现错误,而且我在部分地方遇到了另一个错误我将这些函数称为“没有匹配的函数函数‘最高’”有人可以帮我吗

count=highest(plane);
count2=lowest(plane);

}


int highest(airplanes plane){
int high=0;
int count=0;
for(int a =0;a<12;a++){
    if(plane[a].averageDeparted>high){
        count=a;
        high=plane.averageDeparted;
    }
}
return count;
  }

 int lowest(airplanes plane){
 int low=100000;
 int count2=0;
 for(int a =0;a<20;a++){
    if (plane[a].averageDeparted< low){
        count2=a;
        low=plane[a].averageDeparted;
    }
   }
 return count2;

【问题讨论】:

  • plane[a] 您正在尝试将下标运算符(一对方括号)应用于airplanes 类型的变量,但airplanes 类型显然不提供下标运算符。消息似乎非常清楚。
  • 在您调用highest 时,变量plane 是什么类型?显然,实际上不是airplanes
  • 它是用户定义的飞机数组类型
  • airplanes array userdefined C++ 中没有这种类型。显示实际的声明 - 不要用散文来描述它。
  • 您的意思是“'Airplanes' 提供下标运算符吗”?

标签: c++ arrays struct


【解决方案1】:

根据您迟来的评论,您的参数声明在两种方法中都不正确。在这两种情况下,它们都应该是 (airplanes planes[])

类型名称也不正确,因为每个实例显然只有一架飞机。

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 2013-05-07
    • 2021-02-16
    • 2015-09-18
    • 2017-03-29
    • 2011-03-16
    • 2011-07-09
    • 2016-07-23
    相关资源
    最近更新 更多