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
codice:
#include "model/DiGraph.h"
using namespace std;
int main() {
DiGraph* dg = new DiGraph(5);
return 0;
}
/model/DiGraph.h
codice:
#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
codice:
#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:iGraph(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