Hallo, ich steh grad anscheinend ordentlich aufm Schlauch, denn ich bekomm es nicht gebacken auf nen statischen Member zuzugreifen. Handelt sich um folgenden Code(gekürzt wegen nem Wettbewerb).
Der Linker wirft beim Kompilieren sowohl innerhalb als auch außerhalb des Headers folgende Fehler:
Jemand ne Idee was da schief läuft ?
C-Quellcode
- //Container.h
- #ifndef CONTAINER_H
- #define CONTAINER_H
- #include <iostream>
- #include <stdexcept>
- #include <exception>
- namespace BwInf {
- template<typename T>
- class Container
- {
- public:
- ...
- static int getStep() {return step;}; //Zeile 22
- static void incrementStep() {step++;}; //Zeile 23
- private:
- ...
- static int step = 0;
- };
- template<typename T>
- void Container<T>::fill(Container<T> &container)
- {
- ...
- Container::incrementStep();
- }
- }
- #endif
Der Linker wirft beim Kompilieren sowohl innerhalb als auch außerhalb des Headers folgende Fehler:
Quellcode
- /tmp/cc4rDjGS.o: In Funktion `BwInf::Container<int>::getStep()':
- /home/rico/Programmieren/BwInf/Aufgabe1/Container.h:22: Nicht definierter Verweis auf `BwInf::Container<int>::step'
- /tmp/cc4rDjGS.o: In Funktion `BwInf::Container<int>::incrementStep()':
- /home/rico/Programmieren/BwInf/Aufgabe/Container.h:23: Nicht definierter Verweis auf `BwInf::Container<int>::step'
- /home/rico/Programmieren/BwInf/Aufgabe/Container.h:23: Nicht definierter Verweis auf `BwInf::Container<int>::step'
- collect2: error: ld returned 1 exit status
Jemand ne Idee was da schief läuft ?