• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed [ESP32 C++] Problem z plikiem nagłówkowym i strukturą

VPS Starter Arubacloud
0 głosów
353 wizyt
pytanie zadane 19 lipca 2021 w C i C++ przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 21 lipca 2021 przez Marak123

Witam smiley

Robię sobie projekcik na płytkę ESP32 i mam mały problem z importem struktur które są zrobione w pliku nagłówkowym .h.

Plik nagłówkowy:

#ifndef STRUCTURE
#define STRUCTURE

#include <vector>
#include <cstdint>
#include <Arduino.h>
#include "function.h"

struct _wifi
{
  String SSID = "";
  String password = "";
  int localIP[4];
  int gateway[4];
  int subnet[4];
};

struct _ftpServer{
  char addrIP[];
  String username;
  String password;
};

#endif

A to jest plik do którego chcę importować te struktury:

#ifndef VARIABLES
#define VARIABLES

#include "structure.h"

_wifi dataWifi;  //Wifi dane konfiguracyjne
struct _ftpServer dataFtp; //Serwer ftp dane konfiguracyjne

#endif

 

I tutaj pojawia się problem bo te pliki są w tym samym folderze i niby się importuje ale i tak próbując stworzyć strukturę według wzoru np. _wifi to pokazuje ze nie ma takiej nazwy typu, czyli po prostu nie widzi tej struktury i teraz pytanie dlaczego nie widzi tych struktur inny plik nagłówkowy??

Wie ktoś może co robę źle?? 

 

Edit::

Treść błędu

error: '_wifi' does not name a type
komentarz zamknięcia: Dzięki za pomoc
komentarz 20 lipca 2021 przez Marak123 Stary wyjadacz (11,190 p.)

Znaczy pokazuje błąd w pliku nagłówkowym jak dałem

extern _wifi dataWifi;

A w pliku .cpp

_wifi dataWifi

to zadeklarowało tylko to co jest w main.cpp a to co jest w pliku nagłówkowym z extern to pokazuje błąd does not name a type.

1
komentarz 20 lipca 2021 przez Oscar Nałogowiec (29,290 p.)

Może nie zaczynaj nazw podkreśleniem, to chyba jest jakoś zarezerwowane.

I ta linijka

#ifndef STRUCTURE

Słówko STRUCTURE wydaje się mało unikalne - #define są globalne, jeśli ktos użył tego słowa w jednym z plików nagłówkowych, które includujesz to się namięsza.

komentarz 20 lipca 2021 przez Marak123 Stary wyjadacz (11,190 p.)

Może nie zaczynaj nazw podkreśleniem, to chyba jest jakoś zarezerwowane.

Ok

Ogólnie to zrobiłem nowy plik nadałem mu nazwę struct.h i w #ifndef dałem STRUCT i teraz działa gdy includuje normalnie mi rozpoznaje ze coś takiego istnieje więc był jakiś problem z plikiem może projekt zrobiony coś źle skonfigurował zapis pliku albo tak jak mówisz @Oscar to po prostu ta nazwa STRUCTURE jest już używana albo jakoś zadeklarowana przez kompilator nie wiem. Ale ważne ze działa.

Dzięki za pomoc @Oscar@j23 smileyyes

komentarz 21 lipca 2021 przez j23 Mędrzec (194,920 p.)

albo tak jak mówisz @Oscar to po prostu ta nazwa STRUCTURE jest już używana

Dlatego dobrze jest dawać nazwę pliku z rozszerzeniem, np. __STRUCTURE_H__

komentarz 21 lipca 2021 przez Marak123 Stary wyjadacz (11,190 p.)
No w sumie to ta

Podobne pytania

0 głosów
1 odpowiedź 286 wizyt
0 głosów
0 odpowiedzi 287 wizyt
pytanie zadane 26 kwietnia 2022 w Mikrokontrolery przez Marak123 Stary wyjadacz (11,190 p.)
+1 głos
0 odpowiedzi 243 wizyt
pytanie zadane 1 maja 2021 w C i C++ przez Marak123 Stary wyjadacz (11,190 p.)

92,454 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...