错误:对二进制==无效的操作数(具有“结构演示”和“结构演示”)

凯文·戈麦斯

代码1:

struct demo
{
    int a;
}d[2];

int main()
{
    d[0].a=5;
    d[1]=d[0];
    return 0;
}

此代码可以正常工作

代码2:

struct demo
{
    int a;
}d[2];

int main()
{ 
    d[0].a=5;
    d[1]=d[0];
    if(d[0]==d[1])
    {
        printf("hello");
    }
return 0;
}

此代码给出错误

error: invalid operands to binary == (have 'struct demo' and 'struct demo')

为什么在Code 2中会出现此错误?

沙菲克·雅格慕(Shafik Yaghmour)

您需要自己比较结构的成员,如下所示:

if(d[0].a ==d[1].a)

structs不是equals(==)的有效操作数,操作数必须是算术类型或指针。我们可以从看到这个草案C99标准部分6.5.9 相等运算符

以下条件之一应成立:

  • 两个操作数都具有算术类型
  • 这两个操作数都是指向兼容类型的合格或不合格版本的指针;
  • 一个操作数是指向对象或不完整类型的指针,另一个是指向void的合格或不合格版本的指针;要么
  • 一个操作数是一个指针,另一个是空指针常量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:二进制 + 的无效操作数(有 'char *' 和 'char *'),使用宏

来自分类Dev

将无效操作数错误为二进制&(具有'int **'和'int *')

来自分类Dev

错误是什么:对二进制%(具有'float'和'int')的无效操作数意味着

来自分类Dev

对二进制*无效的操作数(具有'int'和'int *')

来自分类Dev

无效的二进制二进制操作数('const'和'const')

来自分类Dev

无效的二进制二进制操作数(“ char(*)[36]”和“ char *”)

来自分类Dev

无效的二进制二进制操作数('const'和'const')

来自分类Dev

无效的二进制错误

来自分类Dev

错误:对二进制表达式无效的操作数(“ float”和“ float”)

来自分类Dev

错误:类型为“ double *”和“ double”的无效操作数为二进制“ operator /”

来自分类Dev

错误:采用浮点模数时,无效的操作数为二进制%

来自分类Dev

如何修复“对二进制表达式无效的操作数”错误?

来自分类Dev

“对二进制表达式无效的操作数”错误

来自分类Dev

错误:无效的二进制操作数*指向矩阵的指针

来自分类Dev

无效的操作数到二进制表达式错误消息

来自分类Dev

二进制表达式的无效操作数错误

来自分类Dev

无效的二进制操作数

来自分类Dev

无效的二进制操作数*

来自分类Dev

无效的二进制操作数,缺少理论

来自分类Dev

无效的二进制二进制操作数(“ const Vector”和“ const Vector”)

来自分类Dev

无效的二进制二进制操作数('ostream'(aka'basic_ostream <char>')和'Date')

来自分类Dev

错误:类型为'const char [35]'和'const char [2]'的无效操作数为二进制'operator +'

来自分类Dev

错误:类型为'int'和'<未解析的重载函数类型>'的无效操作数为二进制'operator <<'

来自分类Dev

错误:二进制运算符'/'的类型为'int'和'float *'的无效操作数

来自分类Dev

C ++错误:类型为'double'和<unresolved重载的函数类型'的操作数对二进制'operator'无效

来自分类Dev

arduino,错误:“char [14]”和“char [5]”类型的无效操作数到二进制“operator+”

来自分类Dev

错误:类型为“const char [8]”和“const char [7]”的无效操作数到二进制“operator<<”

来自分类Dev

错误:二进制运算符'||'的操作数类型错误

来自分类Dev

C无效二进制文件中的错误消息

Related 相关文章

  1. 1

    错误:二进制 + 的无效操作数(有 'char *' 和 'char *'),使用宏

  2. 2

    将无效操作数错误为二进制&(具有'int **'和'int *')

  3. 3

    错误是什么:对二进制%(具有'float'和'int')的无效操作数意味着

  4. 4

    对二进制*无效的操作数(具有'int'和'int *')

  5. 5

    无效的二进制二进制操作数('const'和'const')

  6. 6

    无效的二进制二进制操作数(“ char(*)[36]”和“ char *”)

  7. 7

    无效的二进制二进制操作数('const'和'const')

  8. 8

    无效的二进制错误

  9. 9

    错误:对二进制表达式无效的操作数(“ float”和“ float”)

  10. 10

    错误:类型为“ double *”和“ double”的无效操作数为二进制“ operator /”

  11. 11

    错误:采用浮点模数时,无效的操作数为二进制%

  12. 12

    如何修复“对二进制表达式无效的操作数”错误?

  13. 13

    “对二进制表达式无效的操作数”错误

  14. 14

    错误:无效的二进制操作数*指向矩阵的指针

  15. 15

    无效的操作数到二进制表达式错误消息

  16. 16

    二进制表达式的无效操作数错误

  17. 17

    无效的二进制操作数

  18. 18

    无效的二进制操作数*

  19. 19

    无效的二进制操作数,缺少理论

  20. 20

    无效的二进制二进制操作数(“ const Vector”和“ const Vector”)

  21. 21

    无效的二进制二进制操作数('ostream'(aka'basic_ostream <char>')和'Date')

  22. 22

    错误:类型为'const char [35]'和'const char [2]'的无效操作数为二进制'operator +'

  23. 23

    错误:类型为'int'和'<未解析的重载函数类型>'的无效操作数为二进制'operator <<'

  24. 24

    错误:二进制运算符'/'的类型为'int'和'float *'的无效操作数

  25. 25

    C ++错误:类型为'double'和<unresolved重载的函数类型'的操作数对二进制'operator'无效

  26. 26

    arduino,错误:“char [14]”和“char [5]”类型的无效操作数到二进制“operator+”

  27. 27

    错误:类型为“const char [8]”和“const char [7]”的无效操作数到二进制“operator<<”

  28. 28

    错误:二进制运算符'||'的操作数类型错误

  29. 29

    C无效二进制文件中的错误消息

热门标签

归档