Что делать если visual studio пишет, что не удалось неявно преобразовать тип "bool" в тип "char"
Иван Никитин
Ученик
(126),
на голосовании
7 месяцев назад
Что делать если visual studio пишет, что не удалось неявно преобразовать тип "bool" в тип "char" я новичок в программировании, поэтому я не понимаю что там не так, и как это исправить
Switch проходит по переменной типа char (field[i,j]), а у выражения в case (field[0,0]==sign) тип bool. Эти типы должны совпадать. Вот компилятор и недоумевает.
Как должно быть, зависит от логики программы.
Switch с одним case - это бред. Похоже вы плохо понимаете как switch работает. Перепишите код без switch. Замените этот оператор if-ом
В кейсах свича нельзя прописывать логические условия (если только вы не проверяете свичом значение булевской переменной, что не имеет особого смысла). Там прописываются возможные значения переменной, указанной в круглых скобках свича.
switch (field[i, j]) { case sign: .... break;
При этом, естественно, на равенство sign будет проверяться значение field[i, j], а не field[0, 0].
Если вам нужно больше свободы в проверках, вместо оператора switch используйте if.
Как некоторые уже объяснили выше, вы неверно понимаете работу switch. Вы пытаетесь писать условие в шапке case и вручную осуществлять проверку, хотя это уже реализовано "под капотом". Более подробно можно ознакомиться тут Так же тут я "накидал" для вас "живой" пример использования.
я новичок в программировании, поэтому я не понимаю что там не так, и как это исправить