Archived

This topic is now archived and is closed to further replies.

gamechampionx

Unresolved External Symbols?

Recommended Posts

What exactly is
    
--------------------Configuration: Quest of the Flame - Win32 Debug--------------------
Linking...
Quest of the Flame.obj : error LNK2001: unresolved external symbol "public: char * __thiscall Character::ConvertItemName(int,int,bool)" (?ConvertItemName@Character@@QAEPADHH_N@Z)
Debug/Quest of the Flame.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Quest of the Flame.exe - 2 error(s), 0 warning(s)
    
supposed to mean? I don't get it. I tried looking it up in MSDN, but it didn't help. My source is here. Please help the noob! [edited by - gamechampionx on November 8, 2002 11:02:05 PM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The compiler is saying ''You promised me (by making a prototype) that you were gonna create a function. Then you went and called it. But I don''t see that function anywhere.''

There are four possible causes of this mixup.

a) You included a library but it wasn''t linked

b) You mispelled a function in either the prototype or the definition

c) You created a function and forgot to design it

d) You created a member function. But when you defined it you forgot to tell the compiler that the definition applied to that class.

Here is what needs to be:


  
class foo
{
public:
void func(void);
};

void foo::func(void)
{
// stuff

}


Note the ''foo::'' qualifier in front of the func() definition header.

99% of complaints of this type fall into one of those categories.

-D

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
My apologies.

Item c should be:

c) You created the prototype for a function but forgot to define it.

-D

Share this post


Link to post
Share on other sites
Yep, take a look. Character::ConvertItemName() is never defined. Instead it is defines as plain old ConvertItemName. Add the scope operator and your set.

Share this post


Link to post
Share on other sites