Здравствуйте, Denn, Вы писали:
D>D> char a; char b; char c;
D> c = a | b & c;
D>
Нет это не ошибка, тип char имеет размер 8 бит, а компилятор при генерации кода для логических команд использует 32 разрядные регистры, в следствии чего после вычисления выражения a | b & c будет присваивание из 32 разрядного регистра в 8 разрядную переменную, что бы избежать этого соообщения
достаточно написать c = char(a | b & c).
PS: Кстати студия 7.1 уже не генерит никаких сообщений