【发布时间】:2015-10-28 23:18:10
【问题描述】:
在休息 2 年后,我正在尝试通过开发一个基本的纸牌游戏程序来更新我的基本 C++ 技能。所以我创建了 3 个对象:deck、hand 和 card。一切都运行良好,直到我尝试定义一个全局常量牌组供整个程序使用并且一切都搞砸了(牌组应该是按顺序排列的所有 52 张牌,并且永远不会改变)。我正在尝试弄清楚如何将以下文件链接在一起:
main.cpp
deck.h
deck.cpp
hand.h
hand.cpp
card.h
card.cpp
我需要在哪里包含以及在哪里以及如何定义要在整个程序中使用的全局套牌?我把我现有的代码弄得一团糟,试图将所有东西都包含在内,但现在没有任何东西可以正确编译。谢谢!
【问题讨论】:
-
一些错误输出对于任何有动力解决您的问题的人来说都是无价的。
-
在没有任何实际线索的情况下,我预测您在标题中声明全局卡组时忘记添加
extern。在这种情况下,每个包含该头文件的源文件都会认为他们拥有一个私有的卡组静态实例,而不是意识到他们需要稍后链接到它。
标签: c++ static-linking