Я использую VS Code для встроенных C проектов с расширением C / C ++ от Microsoft. У меня есть заданная схема именования типов, за которую я не отвечаю и не могу ничего изменить.
Чтобы использовать эти имена, у меня есть, например, следующие typedefs
typedef unsigned char u8;
typedef signed char s8;
typedef unsigned short u16;
typedef volatile unsigned long vu32;
Когда используя тип u8
где угодно (даже в строке после typedef), не выделяется как имя типа, в то время как выделяется в самой строке typedef . Он получает , помеченный как ошибка с этим сообщением об ошибке:
"Variable "u8"" is not a type name.
Все остальные типы работают нормально.
Кажется, проблема не связана с длиной так как тип s8
работает. Я попытался изменить его на u7
, и это сработало, поэтому в начале не должно быть «u», и я попытался добавить такую букву: u8e
, это тоже сработало.
I нашел это , и когда я пробую эти четыре вкладыша самостоятельно:
typedef unsigned char u8;
typedef unsigned short u16;
u8 testVar8;
u16 testVar16;
Я не получаю сообщение об ошибке, поэтому меня это еще больше смущает.
Во время записи с этим вопросом я вернулся в окно VS Code, просто чтобы заметить, что все красные подчеркивания исчезли вместе со всеми ошибками, но в следующий раз, когда я открываю VS Code, у меня была такая же проблема.