Jump to content

    

Почему ошибка с булевым типом

Уважаемые форумчане, подскажите. Создаю в главном файле переменные с типом bool. В другом, подключаемом файле си объявляю эти переменные как внешние, т.е. с признаком extern. При попытке компиляции всего кода Кейл жалуется на эти подключаемые переменные. Пишет, что идентификаторы не определены. Почему?

Edited by vladh

Share this post


Link to post
Share on other sites

Простите, мне подумалось, что проблема классическая, т.е. о ней многие знают. Но, оказывается не так. Проект прилагаю. Если две мои булевы переменные применяются только в главном файле, то все без проблем. Но при попытке их использования и в файле modbu_1.c, идут сообщения об ошибках. И еще. Если я объявляю эти переменные не в главном файле, а в modbu_1.c Кейл также говорит об ошибках.

V1_1.rar

Edited by vladh

Share this post


Link to post
Share on other sites

Прямо как партизан. Даже под пытками не выдаёт информацию.

1) Какая переменная?

2) В каких файлах?

3) Какое сообщение об ошибке? Дословно.

Share this post


Link to post
Share on other sites
54 минуты назад, vladh сказал:

Пишет, что идентификаторы не определены. Почему?

 

Потому, что язык С, а не С++. Добавить #include <stdbool.h>

Share this post


Link to post
Share on other sites
1 minute ago, Arlleex said:

Вангую,

 

2 minutes ago, Arlleex said:

Вангую, что-то типа Undefined symbol 'bool'...

Не совсем так: "identifier "bool" is undefined."

Share this post


Link to post
Share on other sites
3 минуты назад, vladh сказал:

Не совсем так: "identifier "bool" is undefined."

Одного поля ягода, не находите?

 

P.S. Подключите <stdbool.h> или напишите свое определение этого типа. Например, typedef u32 bool.

Share this post


Link to post
Share on other sites
5 minutes ago, Палыч said:

Потому, что язык С, а не С++. Добавить #include <stdbool.h>

Точно! Палыч, огромное СПАСИБО.

Share this post


Link to post
Share on other sites
7 минут назад, Палыч сказал:

Потому, что язык С, а не С++.

Язык тут ни при чем. _Bool появился еще в C99, вроде как.

Share this post


Link to post
Share on other sites
3 минуты назад, Arlleex сказал:

_Bool появился еще в C99, вроде как.

Разница между _Bool и bool видна невооружённым глазом :acute:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this