Alex_T
Erfahrenes Mitglied
Hallöle,
wie es der Titel schon sagt, möchte ich eine Klasse in ein Header-File auslagern, um den Quelltext übersichtlicher zu halten (es gibt noch eine .cpp, in der die Implementierung der Klasse steht).
- IDE = Code::Blocks v10.05
- Compiler = mingw32-g++
Hier mal meine bisherigen Codestücke (alles roh, da nur zum Testen):
MAIN.cpp
matrix.h
matrix.cpp
So, nun zu meinem Problem:
Wenn ich das Ganze so kompilieren lasse, dann bekomme ich folgenden Fehler von Code::Blocks:
"undefined reference to 'matrix::~matrix()'".
Wenn ich die Instanzierung von "test" in der MAIN.cpp auskommentiere, dann läuft die Kompilierung sauber durch.
Das gleiche Problem bestand auch vorher schon mit dem Konstruktor, welches sich nach erneutem Schreiben der Sourcefiles in Luft aufgelöst hat (der Sourcecode war identisch).
Nun scheint mir der Compiler schon vertrauenswürdig, nur weiß ich nicht, was ich ändern könnte, um den Fehler zu beheben.
Vllt. könnte mir da jemand mit Rat und Tat zur Seite stehen?
Danke schon mal im Voraus.
wie es der Titel schon sagt, möchte ich eine Klasse in ein Header-File auslagern, um den Quelltext übersichtlicher zu halten (es gibt noch eine .cpp, in der die Implementierung der Klasse steht).
- IDE = Code::Blocks v10.05
- Compiler = mingw32-g++
Hier mal meine bisherigen Codestücke (alles roh, da nur zum Testen):
MAIN.cpp
C++:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include "matrix.h"
using namespace std;
int main() {
matrix test;
return 0;
}
matrix.h
C++:
#ifndef _matrix_h_
#define _matrix_h_
class matrix {
public:
void matix(void);
~matrix();
};
#endif
matrix.cpp
C++:
#include "matrix.h"
using namespace std;
matrix::matrix(void)
{
//TODO
}
matrix::~matrix()
{
//TODO
}
So, nun zu meinem Problem:
Wenn ich das Ganze so kompilieren lasse, dann bekomme ich folgenden Fehler von Code::Blocks:
"undefined reference to 'matrix::~matrix()'".
Wenn ich die Instanzierung von "test" in der MAIN.cpp auskommentiere, dann läuft die Kompilierung sauber durch.
Das gleiche Problem bestand auch vorher schon mit dem Konstruktor, welches sich nach erneutem Schreiben der Sourcefiles in Luft aufgelöst hat (der Sourcecode war identisch).
Nun scheint mir der Compiler schon vertrauenswürdig, nur weiß ich nicht, was ich ändern könnte, um den Fehler zu beheben.
Vllt. könnte mir da jemand mit Rat und Tat zur Seite stehen?
Danke schon mal im Voraus.