Sono alle prese con il C++ da meno di due giorni...molto bello, ma continuo a preferire il C puro (voglio dire, tanto vale usare java, se si vuole sprecare memoria...)
cmq, ho un problema che probabilmente è ultrastupido, ma proprio per questo motivo...non riesco a risolverlo!
ho il linker che non riesce a risolvermi un oggetto 'Graph", nonostante il file in cui è definito/implementato sia stato compilato correttamente. Per completezza vi posto il risultato del mio make:
ma la cosa strana è che il file testque ècodice:theclue@Asher ~/src/BFS $ make all g++ -c -Wall nodelist.cpp g++ -c -Wall testque.cpp testque.cpp: In function ‘int main()’: testque.cpp:8: warning: unused variable ‘pippo’ g++ -c -Wall graph.cpp g++ testque.o nodelist.o graph.o -o testque /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols: Graph::Graph() collect2: ld returned 1 exit status make: *** [testque] Error 1
...ma 'pippo' non da nessun errore!!! Come è possibile?codice:int main(void){ Graph* pippo = new Graph(); Graph graph; }
EDIT: trovato l'errore, ed era come ovvio stupidissimo...una dichiarazione di costruttore quando invece usavo il costruttore derivato dalla classe padre di Graph. Però, per mera curiosità accademica, continuo a chiedermi perché 'pippo' non dava quell'errore...



Rispondi quotando
