Original Post
I get a linker error when I try to compile my program. Here is the revelant code: I am including Network.h into both files. This is the only error I get. Any help would be greatly appreciated. Thanks.
From Network.h:
class Client
{
public:
template <class Class> void SendPacket(Class object, unsigned char packetID, int packetStream);
//other stuff removed due to irrelevancy...
};
From Client.cpp:
template <class Class>
void Client::SendPacket(Class object, unsigned char packetID, int packetStream)
{
IdentifiedPacket <Class> data(packetID, object);
client->Send((char*) data, sizeof(TemplatedClass<Classy>), HIGH_PRIORITY, RELIABLE_ORDERED, packetStream);
}
From main.cpp:
if(input.CheckKey(SDLK_a, SDL_KEYDOWN))
{
cli->SendPacket(true, TEXT_STATE, 1);
}
else if(input.CheckKey(SDLK_a, SDL_KEYUP))
{
cli->SendPacket(false, TEXT_STATE, 1);
}
Error I get:
main.obj : error LNK2019: unresolved external symbol "public: void __thiscall Client::SendPacket<bool>(bool,unsigned char,int)" (??$SendPacket@_N@Client@@QAEX_NEH@Z) referenced in function "void __cdecl InputCheck(void)" (?InputCheck@@YAXXZ)