Типы операндов несовместимы "int *" и "int" - PullRequest
0 голосов
/ 21 марта 2020

Я получаю эту ошибку, я не понимаю проблемы в моем коде

// до этого есть пункт меню, в котором вы выбираете версию

if (&config_system.item.Antiaimtypedsy == 2 || &config_system.item.Antiaimtypedsy == 3)

и вот объявленная переменная

int Antiaimtypedsy; 

LMK, что мне нужно изменить, я так запутался и застрял на этом.

edit: ошибка в ==

Ответы [ 2 ]

2 голосов
/ 21 марта 2020

Вам не нужно брать адрес значения, вам просто нужно значение. Кроме того, если вам нужно сравнить его с несколькими возможностями, используйте switch:

switch (config_system.item.Antiaimtypedsy) {
  case 2:
  case 3:
    // ...
    break;
}

Ошибка не ==, это неправильные типы, вызванные &.

1 голос
/ 21 марта 2020

Вы используете &, который является адресом оператора. Это даст указатель на значение, которое будет int*. Как вы узнали, вы не можете правильно сравнить int и int*.

. Вместо этого просто используйте int:

if (config_system.item.Antiaimtypedsy == 2 || config_system.item.Antiaimtypedsy == 3)
...