Mam taki problem otóż staram się nauczyć programować w c++ z pomocą DEV c++ bardziej przejrzyściej. W tym celu tworze projekt i tworze oddzielnie pliki. W pliku głównym main tylko używam include innych i wszystko jest ok. Ale mam pewien z problem z jedna struktura i programem. Nie przytoczę go całkowicie bo to dość duży kod. Ale w skrócie.
-Tworze pewna strukturę w pliku main,
-tworze tablice tej struktury pliku main,
-inicjuje funkcje pobierająca tablice i zwracającą ją inny plik projektu,
Sprawdziłem wszystko dokładnie lecz wywala mi błąd 'element' does not name a type
element to struktura. Jak by oddzielny plik nie widział struktury. Jak mógłbym rozwiązać ten problem? Co do samej funkcji jest ok. sprawdziłem ją gdy znajduje się bezpośrednio w pliku main. jest ok. próbowałem dodać sama strukturę do pliku z funkcja ale również nie działa. CO mam zrobić ? z góry thx za odpowiedz.
- Rejestracja:ponad 11 lat
- Ostatnio:ponad 10 lat
- Postów:14

- Rejestracja:ponad 19 lat
- Ostatnio:3 miesiące
Oczywiście że nie widzi bo musiałbyś zaincludować main aby widział, a wtedy cykliczny include.
Wiec wynieś deklaracje struktury do osobnego pliku .h który dołącz do głownego oraz do dodatkowego pliku.
P.S. Dev-C++ nie ma nic do rzeczy. Każdy kompilator (łącznie z tym używanym w Dev-C++) zareaguje na to tak samo.
- Rejestracja:ponad 11 lat
- Ostatnio:ponad 10 lat
- Postów:14
Racja. Taka oczywista rzecz a ciężko by było mi na nie tak porostu wpaść. Wielkie dzieki.
A i jeszcze jedno co ma zawierać plik.h ze struktura ? tylko struktura? bo wyskakuje mi po stworzeniu pliku ze struktura i dodaniu include do main komunikat " redefinition of 'struct element' ". I nadal nie wiem co robic.
- Rejestracja:ponad 11 lat
- Ostatnio:ponad 10 lat
- Postów:14
Pozwolę sobie jeszcze o jedno zapytać. Otóż mam sortowanie elementów tablicy zawierającej struktury. I sortuje ją za pomocą pierwszej Litery pliku struktury nazwa. Takie sortowanie pseudo alfabetyczne. Dopatrzy sie ktos może błędu w funkcji?
element *fun_sortowanie(element *tab,int *wsk_ilosc_danych)
{
fstream dane;
int i,j,nr;
element min;
for(i=0;i<*wsk_ilosc_danych;i++)
{
min=tab[i];
for(j=i+1;j<*wsk_ilosc_danych;j++)
{
if(min.nazwa[0]>tab[j].nazwa[0])
{
min=tab[j];
nr=j;
}
}
tab[nr]=tab[i];
tab[i]=min;
}
return tab;
}

- Rejestracja:około 21 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Space: the final frontier
- Postów:26433
@vip268 klasyka gatunku czyli przypadek brzegowy. Zobacz co sie stanie jeśli pierwsza pętla dojdzie do ostatniego elementu. Nie wejdziesz do drugiej pętli więc zmienna "nr" będzie miała wartość z poprzedniej pętli a ty cośtam zaczniesz przypisywać ;]
<code>
do wstawiania kodu