Aktuelle Zeit: 15.05.2024, 08:03

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: 4 Linker Errors
BeitragVerfasst: 13.01.2008, 19:10 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
Weiß wer was die bedeuten?

Code:
Main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall CFrameSmoother<float>::CFrameSmoother<float>(int,float const &)" (??0?$CFrameSmoother@M@@QAE@HABM@Z)" in Funktion ""void __cdecl `dynamic initializer for 'Smoother''(void)" (??__ESmoother@@YAXXZ)".

Main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall CFrameSmoother<float>::~CFrameSmoother<float>(void)" (??1?$CFrameSmoother@M@@QAE@XZ)" in Funktion ""void __cdecl `dynamic atexit destructor for 'Smoother''(void)" (??__FSmoother@@YAXXZ)".

Funktion.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: float __thiscall CFrameSmoother<float>::getSmoothedValue(void)const " (?getSmoothedValue@?$CFrameSmoother@M@@QBEMXZ)" in Funktion ""public: void __thiscall cFunktion::tickAll(void)" (?tickAll@cFunktion@@QAEXXZ)".

Funktion.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall CFrameSmoother<float>::addValue(float const &)" (?addValue@?$CFrameSmoother@M@@QAEXABM@Z)" in Funktion ""public: void __thiscall cFunktion::tickAll(void)" (?tickAll@cFunktion@@QAEXXZ)".


Edit Quellcode:
Code:
template<typename T> class CFrameSmoother
{
public:
   CFrameSmoother(int c_filterSize, const T& c_stdValue);
   ~CFrameSmoother();
   void addValue(const T& value); //fügt ein neuen Wert hinzu
   T getSmoothedValue() const; //liefert den geglättetem Wert
   void reset();      // Zurücksetzen
protected:
   T* p_buffer;      //der Puffer
   int filterSize;      //Größe des Puffers/Filters
   int curser;         //Cursor
   T stdValue;         //Standart Wert
};

Code:
template<class T>
CFrameSmoother<T>::CFrameSmoother(int c_filterSize, const T& c_stdValue) : cursor(0),
                                                         filterSize(c_filterSize),
                                                         stdValue(c_stdValue)
   {
      p_buffer = new T[filterSize];
   }

template<class T>
CFrameSmoother<T>::~CFrameSmoother()
   {
      delete[] p_buffer;
   }

template<class T>
void CFrameSmoother<T>::addValue(const T& value) //fügt ein neuen Wert hinzu
   {
      p_buffer[curser++ % filterSize] = value;
   }

template<class T>
T CFrameSmoother<T>::getSmoothedValue() const //liefert den geglättetem Wert
   {
      int n = curser < filterSize ? cursor : filterSize;
      if(!n) return stdValue;
      else
      {
         T avg;
         ZeroMemory(&avg, sizeof(avg));
         for(int i = 0; i < n; i++) avg += p_buffer[i];
         avg /= static_cast<T>(i);
         return avg;
      }
   }

template<class T>
void CFrameSmoother<T>::reset()      // Zurücksetzen
   {
      cursor = 0;
   }

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de