我正在努力(或者更确切地说是挣扎)创造一个小型的二十一点游戏。在一些JavaScript课程和一些小项目之后,我决定切换到C ++并发现它有点问题,这是我的代码:
http://pastebin.com/raw.php?i=4MgC1VcD
对于你们中的许多人来说,这些代码可能很糟糕,但它让我非常高兴编写代码,即使它不能按照我的意愿运行:) 这就是我得到的:
答案 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[];
并在实现文件中初始化它们。