PDA

Visualizza la versione completa : [C++] Errore: undefined reference to...


kuarl
03-06-2012, 11:20
buongiorno forum.
Da qualche giorno ho deciso di iniziare a studiare C++ e di convertire alcune mie applicazioni java in C++ come esercizio. Quindi vengo dal mondo java e cerco di applicare le abitudini java a C++ e forse sto commettendo degli errori.

Considerate il seguente codice:
/main.cpp


#include "model/DiGraph.h"

using namespace std;

int main() {
DiGraph* dg = new DiGraph(5);
return 0;
}

/model/DiGraph.h


#ifndef DIGRAPH_H
#define DIGRAPH_H

#include "Vertex.h"
#include "list"

using namespace std;

class DiGraph {
public:
DiGraph(int s);
DiGraph(const DiGraph& orig); // clone
virtual ~DiGraph(); // destruct

private:
int size;
Vertex* vertexes;
};

#endif /* DIGRAPH_H */

/model/DiGraph.cpp


#include "DiGraph.h"

DiGraph::DiGraph(int s) {
vertexes = new Vertex[s];
}

DiGraph::DiGraph(const DiGraph& orig) {

}

DiGraph::~DiGraph() {

}

Ometto la classe Vertex che non è importante. Il problema è che quando tento di eseguire main mi da: main.cpp:13: undefined reference to `DiGraph::DiGraph(int)

e non capisco perché. E' un problema nella suddivisione di file in cartelle? namespace? mi è parso di capire che non c'è una corrispondenza diretta fra la parola chiave package di java e namespace di C++ e leggendo le guide non ci ho capito molto. L'impressione è che non trovi DiGraph.cpp

oregon
03-06-2012, 11:28
Con quali strumenti hai compilato?

kuarl
03-06-2012, 11:30
Originariamente inviato da oregon
Con quali strumenti hai compilato?

netbeans + Cygwin 4, quindi g++ suppongo.

kuarl
03-06-2012, 11:45
risolto... a quanto pare lo wizard di netbeans per creare nuove classi incasina tutto.

Caiodark
03-06-2012, 13:36
In C++ si programma in modo diverso da Java, molto di più di quanto la loro somiglianza sintattica farebbe credere. Ti consiglio di documentarti bene, specialmente sui paradigmi fondamentali di C++ come il RAII.
Viceversa ti usciranno pessimi programmi C++.

kuarl
04-06-2012, 15:07
Originariamente inviato da Caiodark
In C++ si programma in modo diverso da Java, molto di più di quanto la loro somiglianza sintattica farebbe credere. Ti consiglio di documentarti bene, specialmente sui paradigmi fondamentali di C++ come il RAII.
Viceversa ti usciranno pessimi programmi C++.

me ne sto accorgendo. E fino ad ora rimpiango java. Tutta questa ulteriore complessità per ora mi sembra porti solo tanta confusione e quindi difficoltà di programmazione. Per ora apprezzo solo l'overload degli operatori :sbav:

Scara95
04-06-2012, 15:46
Originariamente inviato da kuarl
me ne sto accorgendo. E fino ad ora rimpiango java. Tutta questa ulteriore complessità per ora mi sembra porti solo tanta confusione e quindi difficoltà di programmazione. Per ora apprezzo solo l'overload degli operatori :sbav:

E' molto più difficile essere bravi programmatori C++ che ne essere buoni programmatori java...

Loading