- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我创建了一个头文件constants.h,这个文件包含:
extern const int YEAR = 2011; // definition
如果我在 cpp 文件 (MainCPP.cpp) 中尝试在声明它之后使用此常量而不定义它并且不包含 constants.h 文件,如下所示:
extern const int YEAR; // declaration
int main() {
cout << YEAR << endl;
}
当我尝试这样做时,我得到:未解析的外部符号“int const YEAR”。另一方面,如果我将 YEAR 的定义放在 constant.cpp 文件中并在 MainCpp.cpp 中做同样的事情,我将不会收到错误并且链接器将能够与 constants.cpp 中定义的 YEAR 链接(不包括MainCpp.cpp 中的 constants.cpp 也在这里)。
这是否意味着链接器可以链接源文件代码但不能链接头文件代码,除非您明确包含头文件。
最佳答案
头文件中的声明应该是声明,而不是定义。换句话说,不要将“= 2011”放在标题中。
这个变量需要在某处定义,比如你的main.cpp。不要将 extern
放在该定义中。
最后,如果你想在运行时给变量赋值,你不能用const
限定词声明它。
关于c++ - 链接头文件中的常量变量定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8346991/
我正在尝试制作一个动画角色,可以在不移动他的躯干的情况下伸手去拿屏幕上的东西。 如果他够不到,他的手应该朝这个方向移动最大量,然后被他的静态躯干的物理限制所抵消。 所以在我的代码中,绿色矩形( han
似乎有很多关于 Vulkan 新图形 API 的讨论 - https://www.khronos.org/vulkan 我的问题与 - 现有的 EGL 接口(interface)将如何适应 Vulka
首先,感谢@Smick 提供此处发布的初始车辆代码: Sprite Kit pin joints appear to have an incorrect anchor 我正在尝试在车轮(左轮)和底盘之
我是一名优秀的程序员,十分优秀!