Перейти к содержанию
    

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

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

Изменено пользователем vladh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Телепаты отсутствуют.

Без кода и без точного сообщения об ошибке ответ невозможен.

И вообще: http://citforum.ru/howto/smart-questions-ru.shtml

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

V1_1.rar

Изменено пользователем vladh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

54 минуты назад, vladh сказал:

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, Arlleex said:

Вангую,

 

2 minutes ago, Arlleex said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, vladh сказал:

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, Палыч said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, Палыч сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, Arlleex сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...