Error expected unqualified id before numeric constant перевод

Проблема с написание программы на C++ выдаёт ошибку: expected unqualified-id before numeric constant. Что делать? #define TEPLO 1 #define vent 8 #define Vla A2 #define PIN_RELAY 7#define PIN_PHOTO_SENSOR A1#include LiquidCrystal lcd(4, 5, 10, 11, 12, 13);#include #include «DHT.h» #define DHTPIN A0 #define DHTTYPE DHT11 int val; int waterPump = 3; int PIN_RELAY = 4; […]

Содержание

  1. Проблема с написание программы на C++ выдаёт ошибку: expected unqualified-id before numeric constant. Что делать?
  2. Arduino.ru
  3. Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
  4. forum.arduino.ru
  5. Что значит ошибка expected unqualified-id before numeric constant? Как её исправить?
  6. Ожидаемый unqualified-id перед числовой константой для определения числа
  7. 2 ответов
  8. C++:expected unqualified-id
  9. Re: C++:expected unqualified-id
  10. Re: C++:expected unqualified-id
  11. Re: C++:expected unqualified-id
  12. Re: C++:expected unqualified-id
  13. Re: C++:expected unqualified-id
  14. Re: C++:expected unqualified-id
  15. Re: C++:expected unqualified-id
  16. Re: C++:expected unqualified-id
  17. Re: C++:expected unqualified-id
  18. Re: C++:expected unqualified-id
  19. Re: C++:expected unqualified-id
  20. Re: C++:expected unqualified-id
  21. Re: C++:expected unqualified-id
  22. Re: C++:expected unqualified-id
  23. Re: C++:expected unqualified-id
  24. Re: C++:expected unqualified-id
  25. Re: C++:expected unqualified-id
  26. Re: C++:expected unqualified-id
  27. Re: C++:expected unqualified-id
  28. Re: C++:expected unqualified-id
  29. Re: C++:expected unqualified-id
  30. Re: C++:expected unqualified-id
  31. Re: C++:expected unqualified-id
  32. Re: C++:expected unqualified-id
  33. Re: C++:expected unqualified-id
  34. [offtopic] Про жизнь.
  35. Re: [offtopic] Про жизнь.
  36. Re: [offtopic] Про жизнь.
  37. Re: [offtopic] Про жизнь.

Проблема с написание программы на C++ выдаёт ошибку: expected unqualified-id before numeric constant. Что делать?

#define TEPLO 1
#define vent 8
#define Vla A2
#define PIN_RELAY 7
#define PIN_PHOTO_SENSOR A1
#include
LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
#include
#include «DHT.h»
#define DHTPIN A0
#define DHTTYPE DHT11
int val;
int waterPump = 3;
int PIN_RELAY = 4;
int LE = 5;
int LEW = 6;
DHT dht(DHTPIN, DHTTYPE);
byte heart[8] = <
0b10101,
0b10101,
0b01110,
0b00100,
0b01110,
0b10101,
0b10101,
0b00000,
>;
byte H[8] = <
0b00100,
0b00100,
0b01010,
0b01010,
0b10001,
0b10001,
0b10001,
>;
byte A[8] = <
0b10001,
0b11011,
0b10101,
0b10001,
0b10001,
0b10001,
0b10001,
>;
byte Q[8] = <
0b11111,
0b10001,
0b10001,
0b10001,
0b10001,
0b10001,
0b10001,
>;

void setup() <
Serial.begin(9600);
pinMode(waterPump, OUTPUT);
digitalWrite(waterPump, LOW);
pinMode(PIN_RELAY, OUTPUT);
digitalWrite(PIN_RELAY, LOW);
pinMode(LE, OUTPUT);
digitalWrite(LE, LOW);
pinMode(LEW, OUTPUT);
digitalWrite(LEW, LOW);
<
pinMode(PIN_RELAY, OUTPUT);
>

dht.begin();
pinMode(3, OUTPUT);
delay(2000);
pinMode(waterPump, OUTPUT);
digitalWrite(PIN_RELAY, HIGH);
digitalWrite(TEPLO, HIGH);
>
void loop() <
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
lcd.createChar(1, heart);
lcd.createChar(2, H);
lcd.createChar(3, A);
lcd.createChar(4, Q);
lcd.begin(16, 2);
lcd.print(«B»);
lcd.print(char(2));
lcd.print(«A»);
lcd.print(char(1));
lcd.print(«H»);
lcd.setCursor(6, 0);
lcd.print(h, 1);
lcd.setCursor(12, 0);
lcd.print(«IT-8»);
lcd.setCursor(0, 1);
lcd.print(«T»);
lcd.print(«E»);
lcd.print(char(3));
lcd.print(char(4));
lcd.setCursor(5, 1);
lcd.print(t,1);
lcd.setCursor(10, 1);
lcd.print(«Nikita»);

<
if (analogRead (PIN_PHOTO_SENSOR) 30) digitalWrite(waterPump, LOW);
else digitalWrite(waterPump, HIGH);
>
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);

if ((t) > 25) digitalWrite(TEPLO, HIGH);
else digitalWrite(TEPLO, LOW);
<
if ((t) Лучший ответ

sketch_apr29a:4: error: expected unqualified-id before numeric constant

Источник

Arduino.ru

Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru

forum.arduino.ru

Что значит ошибка expected unqualified-id before numeric constant? Как её исправить?

Код ошибки «Arduino: 1.8.13 (Windows 10), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»

In file included from C:UsersПенёкDocumentsArduinosketch_aug15asketch_aug15a.ino:4:0:

C:Users����DocumentsArduinolibrariesTime-master/Time.h:1:2: warning: #warning «Please include TimeLib.h, not Time.h. Future versions will remove Time.h» [-Wcpp]

#warning «Please include TimeLib.h, not Time.h. Future versions will remove Time.h»

sketch_aug15a:9:11: error: expected unqualified-id before numeric constant

C:UsersПенёкDocumentsArduinosketch_aug15asketch_aug15a.ino: In function ‘void setup()’:

sketch_aug15a:120:7: error: unable to find numeric literal operator ‘operator»»dig_display.init’

C:UsersПенёкDocumentsArduinosketch_aug15asketch_aug15a.ino: In function ‘void loop()’:

C:UsersПенёкDocumentsArduinosketch_aug15asketch_aug15a.ino:166:27: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]

sketch_aug15a:195:10: error: unable to find numeric literal operator ‘operator»»dig_display.display’

sketch_aug15a:197:10: error: unable to find numeric literal operator ‘operator»»dig_display.display’

sketch_aug15a:199:10: error: unable to find numeric literal operator ‘operator»»dig_display.display’

sketch_aug15a:201:10: error: unable to find numeric literal operator ‘operator»»dig_display.display’

sketch_aug15a:203:10: error: unable to find numeric literal operator ‘operator»»dig_display.point’

expected unqualified-id before numeric constant

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»»
Сам код:
#include
#include
#include
#include
#include «TM1637.h»
#define CLK 6
#define DIO 5

TM1637 4dig_display(CLK, DIO);

// для данных времени

// для данных dd/mm

// для смены время / день-месяц

unsigned long millist=0;

OLED myOLED(4, 3, 4); //OLED myOLED(SDA, SCL, 8);

extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];

///// часы ..
byte decToBcd(byte val) <
return ( (val/10*16) + (val%10) );
>

byte bcdToDec(byte val) <
return ( (val/16*10) + (val%16) );
>

void setDateDs1307(byte second, // 0-59
byte minute, // 0-59
byte hour, // 1-23
byte dayOfWeek, // 1-7
byte dayOfMonth, // 1-28/29/30/31
byte month, // 1-12
byte year) // 0-99
<
Wire.beginTransmission(0x68);
Wire.write(0);
Wire.write(decToBcd(second));
Wire.write(decToBcd(minute));
Wire.write(decToBcd(hour));
Wire.write(decToBcd(dayOfWeek));
Wire.write(decToBcd(dayOfMonth));
Wire.write(decToBcd(month));
Wire.write(decToBcd(year));
Wire.endTransmission();
>

void getDateDs1307(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
<

Wire.beginTransmission(0x68);
Wire.write(0);
Wire.endTransmission();

*second = bcdToDec(Wire.read() & 0x7f);
*minute = bcdToDec(Wire.read());
*hour = bcdToDec(Wire.read() & 0x3f);
*dayOfWeek = bcdToDec(Wire.read());
*dayOfMonth = bcdToDec(Wire.read());
*month = bcdToDec(Wire.read());
*year = bcdToDec(Wire.read());
>

///// температура ..
float get3231Temp() <
byte tMSB, tLSB;
float temp3231;

Wire.beginTransmission(0x68);
Wire.write(0x11);
Wire.endTransmission();
Wire.requestFrom(0x68, 2);

if(Wire.available()) <
tMSB = Wire.read(); //2’s complement int portion
tLSB = Wire.read(); //fraction portion

temp3231 = (tMSB & B01111111); //do 2’s math on Tmsb
temp3231 += ( (tLSB >> 6) * 0.25 ); //only care about bits 7 & 8
>
else <
//oh noes, no data!
>

void setup()
<
Serial.begin(9600); // запустить последовательный порт

Serial.begin(9600);
myOLED.begin();
Wire.begin();

// установка часов
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
second = 30;
minute = 0;
hour = 14;
dayOfWeek = 3; // день недели
dayOfMonth = 1; // день
month = 4;
year = 14;

//setDateDs1307(00, 40, 15, 6, 15, 8, 2020);

char time[10];
char data[11];

snprintf(time, sizeof(time),»%02d:%02d:%02d»,
hour, minute, second);

snprintf(data, sizeof(data), «%02d/%02d/%02d»,
dayOfMonth, month, year);

Источник

Ожидаемый unqualified-id перед числовой константой для определения числа

Я новичок в C++, поэтому я не знаю, что они имеют в виду с этой ошибкой в Примере phidget-code:

Main.cpp: 8: 16: ошибка: ожидаемый неквалифицированный-id перед числовой константой

есть ли синтаксическая ошибка? Или что-то еще? Я использую #define вместо int.

EDIT: добавлен полный журнал ошибок..

2 ответов

вы пытаетесь объявить переменную с тем же именем, что и макрос, но это невозможно сделать. Препроцессор уже протоптал программу, превратив ее в string 1234; , что не является допустимым объявлением. Препроцессор не имеет знаний о структуре программы, а макросы не следуют правилам области действия языка.

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

это будет ограничено глобальным пространством имен и может быть безопасно скрыто чем-то с тем же именем в более узкой области. Даже когда он скрыт, он всегда доступен как ::homeid .

когда вам действительно нужен макрос, разумно следовать соглашению об использовании SHOUTY_CAPS для макросов. Помимо привлечения внимания к потенциальным опасностям и странностям, связанным с использованием макросов, он не будет конфликтовать с любым именем, используя другую капитализацию.

эта линия в порядке.

скорее всего, компилятор жалуется не на само определение макроса, а на использовать макро. Пример:

при компиляции этого с GCC я получаю:

Это говорит вам, что числовая константа, запрашивающая жалобу, является частью определения макроса, но также и что этот макрос используется (в данном случае, по-видимому, случайно) в строке 3. Брать посмотрите, откуда в вашем коде происходит расширение макроса.

Источник

C++:expected unqualified-id

Сегодня услышал, что в терминах С++ структура похожа на класс, и может иметь конструкторыдеструкторы. Попробовал:
struct some_struct_in_memory<

Получаю от gcc:
error: expected unqualified-id before «void»
error: expected `)’ before «void»

Что это такое и как с этим бороться?

Re: C++:expected unqualified-id

Либо помести обьявление внутрь обьявления структуры, либо обьяви

Re: C++:expected unqualified-id

С классом у тебя то же самое было бы.

так нужно писать только внутри объявления структуры.

А вне ее нужно писать

Re: C++:expected unqualified-id

Структура не просто похожа на класс. Это и есть класс с единтсвенным отличием: доступ по умолчанию public.

Re: C++:expected unqualified-id

Спасибо всем большое!

Re: C++:expected unqualified-id

>Сегодня услышал, что в терминах С++ структура похожа на класс, и может иметь конструкторыдеструкторы.

Тогда это будет не структура а класс с дефолтным public доступом и дефолтным public наследованием. Если есть желание сохранить хоть немного единообразия в С++ проекте используй везде class, а struct делай в стиле Си для интероперабельности с Си кодом.

Re: C++:expected unqualified-id

>Спасибо всем большое!

Они все дали неправильные ответы.

Re: C++:expected unqualified-id

> Они все дали неправильные ответы.

не неправильные, а идеологически невыдержанные

Re: C++:expected unqualified-id

Почему неверные? То что структура С++ задумывалось для совместимости не маешает ей быть классом.

Re: C++:expected unqualified-id

>Почему неверные? То что структура С++ задумывалось для совместимости

Для совместимости с чем? Если она не POD, то она не совместимая

>не маешает ей быть классом

А какой смысл дублировать сущность? Неужели ради того чтобы один раз public не написать?

Re: C++:expected unqualified-id

На сколько я понимаю введено для совместимости c сишными структурами.

Re: C++:expected unqualified-id

Так что же неверно в выше написаном?

Re: C++:expected unqualified-id

Дело в том, что эта структура пишется в заmmapенную память, которая позже скидывается на диск. Эта структура — суперблок, так что мне бы не хотелось засорять плюсовыми прибамбасами образ диска 🙂

Re: C++:expected unqualified-id

>На сколько я понимаю введено для совместимости c сишными структурами.

Структура с конструктором/деструктором по С++ стандарту Plain Old Data (POD) не является и с сишными структурами может быть совместима только случайно.

Re: C++:expected unqualified-id

>Дело в том, что эта структура пишется в заmmapенную память, которая позже скидывается на диск. Эта структура — суперблок, так что мне бы не хотелось засорять плюсовыми прибамбасами образ диска 🙂

Делай методы init()/destroy(). У POD могут быть невиртуальные методы.

Re: C++:expected unqualified-id

значит без пользовательского ктора надо. Иначе она уже не под.

Re: C++:expected unqualified-id

> Структура с конструктором/деструктором по С++ стандарту Plain Old Data (POD) не является и с сишными структурами может быть совместима только случайно.

уточнение: если конструктор без деструктора, то POD:

A POD-struct is an aggregate class that has no non-static data members of type pointer to member, non-POD-struct, non-POD-union (or array of such types) or reference, and has no user-defined copy assignment operator and no user-defined destructor.

Re: C++:expected unqualified-id

> Дело в том, что эта структура пишется в заmmapенную память, которая позже
> скидывается на диск. Эта структура — суперблок,

А вот за это пороть нужно. Что будет, если такую чудо-ФС перенесут с 32-битной
машины на 64-битную? С little endian машины на big endian?

Re: C++:expected unqualified-id

Простите меня заранее. Пишется оно под 64 бита. Под встраиваемую операционку, которая _никогда_ не будет перенесена.

Re: C++:expected unqualified-id

>которая _никогда_ не будет перенесена.

так все говорят, а потом приходит тот кто платит деньги, и говорю а я хочу вот это..

Re: C++:expected unqualified-id

Она делается как очень специализированная оська для очень специфических целей. Простите за возможный понт (просто мне очень повезло), но платит большая-пребольшая фирма, которая заранее знает, чего хочет.

Re: C++:expected unqualified-id

> Пишется оно под 64 бита. Под встраиваемую операционку, которая _никогда_
> не будет перенесена.

Перенос ОС != перенос файловой системы. Вы точно уверены, что никто не захочет
подмонтировать и/или создать образ ФС на PC’юке (или ещё какой-нибудь
архитектуре)?

Re: C++:expected unqualified-id

Хоть и не мне было адресовано, но я всё же отвечу.

> Простите за возможный понт (просто мне очень повезло), но платит
> большая-пребольшая фирма, которая заранее знает, чего хочет.

Ничего страшного. Зато мы получили ещё одну возможность полюбоваться
на качество проприетарного кода.

Re: C++:expected unqualified-id

Работает принцип: «Мы можем сделать быстро, качественно, дёшево. Выберете два из этих трёх.» Чаще всего выбирают быстро и потом так никак и не могут определиться качественно или дёшево.

Re: C++:expected unqualified-id

Я все понимаю. Я _не_ программист на плюсах, и вопрос был детским. К тому же, я еще не спец, но весь код проверяется и «руководится». И мне почему-то кажется, что Вы тоже родились без талмудов Кнута в руках. Все учатся, я тоже, и вы тоже наверняка задавали глупые вопросы, не на форумах, так старшим по мозгам. Вполне естественно, что крупные фирмы берут к себе студентов интернами, а через несколько лет — на полноценную инженерную работу.
Честное слово, я ни на кого не наезжаю — я вам всем очень благодарен за ответы и ваш опыт. Особенно товарищу dilmah, который уже много раз меня спасал в сложных ситуациях.

Re: C++:expected unqualified-id

> Она делается как очень специализированная оська для очень специфических целей.

А что за железяка-то, которой она рулить будет? Интересуюсь для того, чтоб не купить её ненароком.

[offtopic] Про жизнь.

> И мне почему-то кажется, что Вы тоже родились без талмудов Кнута в руках.

Я не лез программировать ФС, да ещё и для встраиваемой ОСи. Да ещё и для production.

> Все учатся, я тоже, и вы тоже наверняка задавали глупые вопросы, не на форумах, так старшим по мозгам.

И не удивлялся, если получал в ответ втык (в том числе — и в буквальном смысле слова).

> Вполне естественно, что крупные фирмы берут к себе студентов интернами, а через несколько лет — на полноценную инженерную работу.

Ни разу это не естественно. Одновременно работать и учиться НЕ ВЫЙДЕТ. В результате и имеем таких «спецов». Как подумаю, что такие же рулят ядерными электростанциями, или лечат людей, жить страшно становится.

> Честное слово, я ни на кого не наезжаю

Я тоже. Только после общения с очередной кривой железкой очень хочется найти того, кто писал прошивку, или разводил печатную плату, etc, и как следует поблагодарить.

И вот я захожу на LOR, и вижу процесс появления такого изделия в реальном масштабе времени, так сказать.

Re: [offtopic] Про жизнь.

>Я не лез программировать ФС, да ещё и для встраиваемой ОСи.
Ну да, все начинали со змейки. Главное — ей не закончить. А для этого надо заниматься чем-то посложнее.

>Да ещё и для production.
Это еще не продакшн. Это прототип. Пруф оф концепт (с). А если оно выйдет в продакшн, но довольно нескоро.

>Одновременно работать и учиться НЕ ВЫЙДЕТ.
Сами же понимаете, что практический опыт в таких узких областях ценнее теории. Хотя здесь есть и теоретическое обучение.

>и как следует поблагодарить
Если через 4 года оно выйдет и вам не понравится — с меня ящик пива. Честно.

Re: [offtopic] Про жизнь.

> Ну да, все начинали со змейки.

Не, я начинал с падающего шарика (требовалось рассчитать траекторию падения с учётом сопротивления воздуха).

> Главное — ей не закончить.

Да некоторым (это не про Вас) лучше было бы на ней и закончить.

> Если через 4 года оно выйдет и вам не понравится — с меня ящик пива. Честно.

Слабое утешение, тем более, что я не употребяю.

Re: [offtopic] Про жизнь.

Все будет хорошо. Если весьма своеобразное высшее руководство не забросит офигенную идею. А такое уже не раз бывало 🙁

Источник

1 / 1 / 0

Регистрация: 25.03.2018

Сообщений: 2

26.03.2018, 23:30

 [ТС]

4

Спасибо, буду изучать! Я не претендую на гуру, глуп в програмировании, хотел чтобы носом тыкнули) если у кого время будет, укажите на ошибку, легче будет учить основы!!! За ранее спасибо!)

Добавлено через 23 часа 11 минут
по изучал вопрос, с переменной float конечно напортачил… блин, но ошибку компиляции —

expected unqualified-id before ‘if’
expected unqualified-id before ‘else’
expected declaration before ‘}’ token

ни как не могу понять! Походу тупо синтаксис не верный! Прошу указать, или хотябы навести на информацию!!! вот скетч :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <DHT.h> // библиотека датчика
#include <LCD5110_Basic.h> // подключаем библиотеку
#define DHTPIN 2
#define Relay 12
LCD5110 myGLCD(7,6,5,4,3); // объявляем номера пинов LCD
DHT dht(DHTPIN, DHT11);
 
extern uint8_t SmallFont[]; // малый шрифт (из библиотеки)
extern uint8_t MediumNumbers[]; // средний шрифт для цифр (из библиотеки)
 
 
void setup() {
  dht. begin();
  pinMode (Relay, OUTPUT);
  myGLCD.InitLCD(); // инициализация LCD дисплея
}
 
void loop(){
 
  delay (1000);
  int h = dht.readHumidity();
  int t = dht.readTemperature(); 
  myGLCD.clrScr(); // очистка экрана
  myGLCD.setFont(SmallFont); // задаём размер шрифта
  myGLCD.printNumI( t, LEFT, 0);// выводим на строке 0, равнение по левому краю  
  myGLCD.print("c", CENTER, 0);// знак цельсии
  myGLCD.printNumI( h, LEFT, 16); // выводим в строке 16 
  myGLCD.print("%", CENTER, 16); //знак %
  delay (1000); // задержка 1 сек
}
if (h > 40) //Указываем условие, если переменная "h" (влажность) больше 40% 
{ 
digitalWrite (Relay, LOW); //то включаем наше реле, которое приводит в действие вентилятор 
} 
else //иначе 
{ 
digitalWrite (Relay, HIGH); //Реле будет выключено, вентилятор не работает 
} 
 
}

Добавлено через 14 минут
ВСЕ ошибку решил, убрал фигурную скобку перед функцией «if» !! Но блин реле не срабатывает(

Добавлено через 7 минут
ВСЕ ЗАРАБОТАЛО!! перезагрузил и ок))) ВСЕМ БОЛЬШОЕ СПАСИБО ЗА НАВОДКИ!))



1



  1. Не работает код для 3-х кнопок и 3-х светодиодов. Выдает:
    Arduino: 1.8.2 (Windows 7), Плата:»Arduino/Genuino Uno»

    In file included from C:Program Files (x86)Arduinohardwarearduinoavrcoresarduino/Arduino.h:32:0,

    from sketchsketch_jan18a.ino.cpp:1:

    C:Program Files (x86)Arduinohardwarearduinoavrcoresarduino/binary.h:31:12: error: expected unqualified-id before numeric constant

    #define B1 1

    ^

    C:UsersЕленаDesktopsketch_jan18asketch_jan18a.ino:4:11: note: in expansion of macro ‘B1’

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    «Показать подробный вывод во время компиляции»

    А вот код (на всяк случ):

    const int L1 = 9;
    const int L2 = 10;
    const int L3 = 11;
    const int B1 = 2;
    const int B2 = 3;
    const int B3 = 4;

    void setup()
    {
    pinMode(L1, OUTPUT);
    pinMode(L2, OUTPUT);
    pinMode(L3, OUTPUT);
    pinMode(B1, INPUT);
    pinMode(B2, INPUT);
    pinMode(B3, INPUT);
    }

    void loop()
    {
    if (digitalRead(B1) == LOW)
    {
    digitalWrite(L1, LOW);
    }
    else
    {
    digitalWrite(L1, HIGH);
    }
    if (digitalRead(B2) == LOW)
    {
    digitalWrite(L2, LOW);
    }
    else
    {
    digitalWrite(L2, HIGH);
    }
    if (digitalRead(B3) == LOW)
    {
    digitalWrite(L3, LOW);
    }
    else
    {
    digitalWrite(L3, HIGH);
    }
    }
    Причем любой другой код без проблем грузит. Закон подлости или что-то другое?

  2. 1. Вставьте код правильно (кнопка «<>» на панели редактора);
    2. Приведите полный код — в том, что вы привели, нет ни одного #define, на который ругается.

  3. Это полный код. Не в коде ошибка, а ошибка КОМПИЛЯЦИИ.

  4. Понял в чём дело. Дайте другие имена переменным, ибо B1 — это в binary.h определение для двоичного представления числа 1. Короче, B1 как имя переменной — лучше не юзать.


    arkadyf и ИгорьК нравится это.

  5. Более того, вообще любые имена переменных, состоящие только из заглавных букв и цифр — лучше не юзать. Такие имена принято использовать для макросов препроцессора.
    Так что советую во всех ваших переменных заменить большие буквы маленькими…


    arkadyf и ИгорьК нравится это.

  6. Программа загрузилась, спасибо. А вот работает как-то странно. По идее, светодиоды должны включаться и выключаться нажатием соответствующих кнопок, а они просто мигают.

  7. Если не используете внешнюю подтяжку, включите внутреннюю

    pinMode(B1, INPUT_PULLUP);
    pinMode(B2, INPUT_PULLUP);
    pinMode(B3, INPUT_PULLUP);

    http://wiki.amperka.ru/конспект-arduino:кнопка

  8. козляра даже не знает, что названия городов пишутся с большой букы))))

  9. не используй капслок.
    Смотри на даты сообщений, когда отвечаешь.

Я новичок в C++, поэтому я не знаю, что они имеют в виду с этой ошибкой в Примере phidget-code:

Main.cpp: 8: 16: ошибка: ожидаемый неквалифицированный-id перед числовой константой

//verander de volgende informatie naar de informatie voor jouw database

#define dserver "oege.ie.hva.nl"
#define duser "username"
#define dpassword "password"
#define ddatabase "databasename"

#define homeid 1234 //line 8

есть ли синтаксическая ошибка? Или что-то еще? Я использую #define вместо int.

EDIT: добавлен полный журнал ошибок..

полный журнал ошибок:http://pastebin.com/3vtbzmXD

полный main.код СРР : http://pastebin.com/SDTz8vni

2 ответов


полная ошибка

error: expected unqualified-id before numeric constant
 note: in expansion of macro ‘homeid’
string homeid;
       ^

вы пытаетесь объявить переменную с тем же именем, что и макрос, но это невозможно сделать. Препроцессор уже протоптал программу, превратив ее в string 1234;, что не является допустимым объявлением. Препроцессор не имеет знаний о структуре программы, а макросы не следуют правилам области действия языка.

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

const int homeid = 1234;

это будет ограничено глобальным пространством имен и может быть безопасно скрыто чем-то с тем же именем в более узкой области. Даже когда он скрыт, он всегда доступен как ::homeid.

когда вам действительно нужен макрос, разумно следовать соглашению об использовании SHOUTY_CAPS для макросов. Помимо привлечения внимания к потенциальным опасностям и странностям, связанным с использованием макросов, он не будет конфликтовать с любым именем, используя другую капитализацию.


эта линия в порядке.

скорее всего, компилятор жалуется не на само определение макроса, а на использовать макро. Пример:

#define homeid 1234

void homeid() {
}

при компиляции этого с GCC я получаю:

so.cc:1:16: error: expected unqualified-id before numeric constant
 #define homeid 1234
                ^
so.cc:3:6: note: in expansion of macro ‘homeid’
 void homeid() {
      ^

Это говорит вам, что числовая константа, запрашивающая жалобу, является частью определения макроса, но также и что этот макрос используется (в данном случае, по-видимому, случайно) в строке 3. Брать посмотрите, откуда в вашем коде происходит расширение макроса.


Понравилась статья? Поделить с друзьями:
  • Error expected unqualified id before numeric constant ошибка
  • Error expected unqualified id before int
  • Error expected unqualified id before for ошибка
  • Error expected unqualified id before else
  • Error expected unqualified id before delete