Обсуждаем контроллеры компании Atmel.
Ответить

Почему возникает ошибка expected ',' or ';' before 'const' ?

Ср окт 10, 2018 20:40:17

Почему возникает ошибка компиляции expected ',' or ';' before 'const' в проекте ATmega48P + SSD1306 (ap.).zip

связанная с константой screen_1[1024]

main.h



main.cpp


и не возникает в проекте ATmega48P + SSD1306 (3).zip, хотя объявление константы скопировано оттуда?
Вложения
ATmega48P + SSD1306 (3).zip
(104.39 KiB) Скачиваний: 184
ATmega48P + SSD1306 (ap.).zip
(102.61 KiB) Скачиваний: 168

Re: Почему возникает ошибка expected ',' or ';' before 'cons

Ср окт 10, 2018 22:05:59

Наверное что-то не так с файлом SSD1306_I2C.h.

Добавлено after 10 minutes 38 seconds:
Re: Почему возникает ошибка expected ',' or ';' before 'const' ?
Сразу и не увидел. А зачем Вы константу в заголовочном файле определяете?

Re: Почему возникает ошибка expected ',' or ';' before 'cons

Ср окт 10, 2018 22:16:08

Да действительно, в в конце этого файла константа такого же типа, в которой при копипастинге исчезла точка с запятой.
Спасибо, Z_h_e.

Сразу и не увидел. А зачем Вы константу в заголовочном файле определяете?


Это пока не законченный проект, а что плохого если она там и останется?

Re: Почему возникает ошибка expected ',' or ';' before 'cons

Чт окт 11, 2018 04:58:10

Это пока не законченный проект, а что плохого если она там и останется?
Заголовочный файл обычно подключают к нескольким файлам. Что будет в этом случае?

Re: Почему возникает ошибка expected ',' or ';' before 'cons

Чт окт 11, 2018 10:04:40

Область видимости расшириться, возможно, нежелательным образом.

Или размер прошивки увеличиться?

Re: Почему возникает ошибка expected ',' or ';' before 'cons

Чт окт 11, 2018 11:43:59

Потому что перед фигурной скобкой стоит лишняя запятая

Re: Почему возникает ошибка expected ',' or ';' before 'cons

Чт окт 11, 2018 16:39:46

DENIS451 писал(а):Область видимости расшириться, возможно, нежелательным образом.

Или размер прошивки увеличиться?


Допустим Ваш проект содержит два исходника 1.c и 2.с, к обоим "подключен" header h.h .
В этом h.h вы определили некую переменную screen_1.
Компилятор откомпиллит 1.с и получит объектный файл 1.о в котором будет screen_1. А от 2.с тоже получит объектный файл 2.о, в котором тоже будет screen_1.
Затем компоновщик будет это все компоновать и в том числе выделять память под screen_1. Закончится это все сообщением что- то типа duplicate definition

Re: Почему возникает ошибка expected ',' or ';' before 'cons

Чт окт 11, 2018 19:14:16

Спасибо, учту!
Ответить