Cześć.
Mam następujący problem mam dwa pliki nagłówkowe FIFO.h i LinkedList.h w obydwu tych plikach mam strukturę node. Mam jeden plik Main z metodą main(includuje FIFO.h i LinkedList.h) gdzie chce zademonstrować działanie moich struktur, ale dostaję błąd: error: redefinition of 'struct _node'
Jak poprawić ten błąd?
Czy trzeba je zrobić prywatne?
Dodam, że jestem dość zielony z C.
Nie ma tak kolorowo :) musisz nazywac swoje rzeczy oficjal ie, np fifo_node
i tak dalej
Pytanie jest: czy te struktury są takie same? Jeśli tak to dlaczego masz je w 2 miejscach. Jeśli nie to dlaczego nazywają się tak samo?
Tak, są takie same. Wydawało mi się dość dziwnym pomysłem tworzenie specjalnie pliku tylko dla tej struktury. Dodatkowo mam 3 zadania, w których muszę zaimplementować m. in. ww. struktury i nie chcę, żeby prowadzący się przyczepił :P
barslo napisał(a):
Wydawało mi się dość dziwnym pomysłem tworzenie specjalnie pliku tylko dla tej struktury.
To źle Ci się wydawało. Jeśli coś ma być wspólne dla kilku klas/obiektów warto zrobić z tego oddzielny header i dołączyć go w każdej z klas. Oczywiście taki nagłówek trzeba zabezpieczyć za pomocą strażnika, albo#pragma once
po to aby nie było ponownej deklaracji.