pighead10
pighead10

Reputation: 4305

How am I getting a linker error: Unresolved external symbol

This is in a Windows Console application, so I have no idea how this is happening at all.

#include "Library.h"

//poglathon.cpp
//starting region


bool Poglathon(std::vector<std::string>& text,Player *player){
    using namespace std;
    cout << "You see a town to one side and a path leading to a dark, murky forest in the other side." << endl;
    int chosen = player->giveOptions(2,"Town","Path","","","");
    return true;
}

Upvotes: 0

Views: 705

Answers (2)

Yakov Galka
Yakov Galka

Reputation: 72449

Apparently the problem is that the declaration of the function (inside your header files) is like this:

bool Poglathon(std::vector<std::string>& text,Player player);

But you defined it like this:

bool Poglathon(std::vector<std::string>& text,Player *player)

Decide what you want and be consistent.

Upvotes: 2

Erik
Erik

Reputation: 91260

Your declaration in the header file looks like this:

bool Poglathon(std::vector<std::string>& text,Player player);

Your attempt to define in the cpp file looks like this:

bool Poglathon(std::vector<std::string>& text,Player * player);

Change the declaration to take a Player * instead of a Player

Upvotes: 3

Related Questions