PC-lint и Flexelint от Gimpel Software имеют правило "971: Использование 'char' без 'signed' или 'unsigned'", которое запрещает использование простого типа char
без указания подписи.
http://www.gimpel.com/html/pub/msg.txt
Я думаю, что это неправильно. Если char
используется как целочисленный тип, то может иметь смысл явно указывать подписанность, но не тогда, когда он используется для текстовых символов. Стандартные библиотечные функции, такие как printf
, принимают указатели на простые char
, а использование signed
или unsigned char
является несоответствием типов. Конечно, между типами можно выполнять приведение типов, но это может привести к ошибкам, которые lint пытается предотвратить.
Является ли это правило lint против простого типа char
неправильным?