- posted
9 years ago
pliki i include
- Vote on answer
- posted
9 years ago
W dniu 2014-12-09 15:28, pawel pisze:
Powinno się unikać wzajemnego includowania. Utwórz trzeci plik i tylko jego dołączaj.
- Vote on answer
- posted
9 years ago
Opisz na czym polega problem *rzeczywisty* a prawdopodobnie znajdzie się lepsze rozwiązanie niż kwadratowe koło.
- Vote on answer
- posted
9 years ago
- Vote on answer
- posted
9 years ago
- Vote on answer
- posted
9 years ago
- Vote on answer
- posted
9 years ago
- Vote on answer
- posted
9 years ago
- Vote on answer
- posted
9 years ago
template< unsigned int _Size >
struct _INPUT { char name[ _Size ]; ..... };
Jednak poderzewam że chcesz wielokrotnie inkludować _INPUT zmieniając czasem LEN w róznych miejscach, czy się mylę? Jeśli mam rację to
*ZDECYDOWANIE* templatey.
Dlaczego dodatkowy plik jest problemem skoro jest rozwiązaniem?
- Vote on answer
- posted
9 years ago
A skad wiadomo ze on robi w C++?
A.L.
- Vote on answer
- posted
9 years ago
Niech się wypowie jaki ma kompilator. Jeśli to nie jest system oparty o
8051 z lat 80-tych to przypusczalnie zmiana kompilatora wymaga zmiany gcc na g++ i już. Bez względu na ten mało prawdopodobny problem - inkludowanie innych-ale-tych-samych struktur do różnych jednostek translacji jest prostą drogą do ciezkich bugów. Tego tak robić nie należy. Dlatego chcę wiedzieć do czego to jest - podejrzewam że do czegoś bardzo zlego.- Vote on answer
- posted
9 years ago
Am 09.12.2014 um 15:28 schrieb pawel:
To zależy od kompilatora i jego preprocesora. Niektóre preprocesory są dwubiegowe i wtedy możesz includować w dowolnej kolejności i będzie działać. W przypadku jednobiegowych masz problem, w szczególności, jak preprocesor nie chce zdefiniować czegoś 2 razy. Wtedy musisz dodać jeszcze jeden include z warunkami. Na przykład taki:
plik_g.h
#define LEN1 10 #define plik_g
a w pozostałych plikach masz:
#ifndef plik_g #include plik_g #endif
ewentualnie plik_g.h #ifndef LEN1 #define LEN1 10 #endif
Waldek