很多LNK2005错误

时间:2012-04-05 12:15:31

标签: c++ lnk2005

我正在努力(或者更确切地说是挣扎)创造一个小型的二十一点游戏。在一些JavaScript课程和一些小项目之后,我决定切换到C ++并发现它有点问题,这是我的代码:

http://pastebin.com/raw.php?i=4MgC1VcD

对于你们中的许多人来说,这些代码可能很糟糕,但它让我非常高兴编写代码,即使它不能按照我的意愿运行:) 这就是我得到的:

http://i.stack.imgur.com/HpyvC.png

1 个答案:

答案 0 :(得分:2)

您需要将方法random定义为inline

inline int random(int nMin, int nMax)
{ 
    return rand() % (nMax - nMin + 1) + nMin; 
}

否则,包含标题的每个翻译单元都会为其生成代码。

要么是这个,要么只是在标题中声明它并在实现文件中定义它。

另外,将globals声明为extern:

extern std::string sSuits[];
extern std::string sRanks[];

并在实现文件中初始化它们。