Quantcast
Channel: CodeGuru Forums - Visual C++ Programming
Viewing all articles
Browse latest Browse all 3021

[RESOLVED] Linker Error

$
0
0
Hello all, i would appreciate it if anyone could enlighten me on a linker error.

First off the error
Code:

Error        1        error LNK2019: unresolved external symbol "public: __thiscall ReachTop<class Character>::ReachTop<class Character>(class Character *)" (??0?$ReachTop@VCharacter@@@@QAE@PAVCharacter@@@Z) referenced in function "void __cdecl `dynamic initializer for 'gReachTop''(void)" (??__EgReachTop@@YAXXZ)        Main.obj        DecisionTest

Reach Top class inherits from Goal Class

Goal Class
Code:

#ifndef _GOAL_H
#define _GOAL_H

#include "Action.h"
#include <list>

template <class T>
class Goal
{
public:
        Goal(T* pOwner) : mpOwner(pOwner) {}
        virtual ~Goal() {}
       
        virtual float CalculateDesirability() = 0;
        virtual Action<T>* CreateAction() = 0;

protected:
        T* mpOwner;
};

template <class T>
struct GoalList
{
        typedef std::list<Goal<T>*> Type;
};

#endif

ReachTop Class Header
Code:

#ifndef _REACHTOP_H
#define _REACHTOP_H

#include <AI.h>
#include <SGE.h>

using namespace SGE;

template <typename T>
class ReachTop : public Goal<T>
{
public:
        ReachTop<T>(T* pOwner);
        virtual ~ReachTop() {}
       
        virtual float CalculateDesirability();
        virtual Action<T>* CreateAction();

protected:
        T* mpOwner;
};


#endif

Reachtop class cpp
Code:

#include "ReachTop.h"


template <typename T>
ReachTop<T>::ReachTop(T* pOwner)
: mpOwner(pOwner)
{

}

template <typename T>
float ReachTop<T>::CalculateDesirability()
{

}

template <typename T>
Action<T>* ReachTop<T>::CreateAction()
{

}

Code to create
Code:

Character* gCharacter = new Character(1, gWorld);
Goal<Character>* gReachTop = new ReachTop<Character>(gCharacter);

Any ideas? I can provide the character class and its inheritance aswell if you like.

Viewing all articles
Browse latest Browse all 3021

Trending Articles