这个错误一般意味着什么?以及我在这种情况下如何修复它?

时间:2016-04-27 17:50:58

标签: c++ arrays sorting struct

Xcode上显示的错误消息显示“二进制表达式的操作数无效。

在我的代码中我正在使用一个结构数组,我正在尝试按升序对输入数据进行排序,并且我在此处的打印屏幕中显示的“if”条件下收到此错误消息链接:

https://www.dropbox.com/s/0mch2gbxcif0a20/Screen%20Shot%202016-04-27%20at%2012.45.45%20PM.png?dl=0

守则

if (studentsInfo[i] > studentsInfo[i + 1]) {}

错误

二进制表达式的无效操作数('学生'和'学生')

2 个答案:

答案 0 :(得分:2)

你在节目中比较什么?正如我所看到的,你必须比较名称,但你要做的就是比较一个结构数据类型的数组元素。 如果您要比较名称,则必须使用点“。”运营商达到名称。在比较名称后,您可以更改元素的位置。

答案 1 :(得分:-2)

错误意味着>只有两个参数,你用它来做别的事情。在这种情况下,您正在比较没有覆盖>的整个数据结构。运算符,是一种未定义的行为。 StudentsInfo [i]是一个包含多个元素的数据结构。将StudentsInfo [i]替换为StudentsInfo [i] .GPA或其数据类型已定义>的其他元素。运营商。

相关问题