【发布时间】:2012-07-05 17:21:03
【问题描述】:
我有一个“未命名结构”类型的全局对象,我正在尝试定义它。我不想用这种无用的类型污染我的全局命名空间(它只会使用一次)。
Global.h
extern struct {
int x;
} A;
有没有正确的方法来定义这样的对象?
我正在尝试这个:
Global.cpp
struct {
int x;
} A = { 0 };
但是 VS2012 抛出“错误 C2371:'A':重新定义;不同的基本类型”。谢谢。
【问题讨论】:
-
如果它只使用一次那你为什么要把它放在一个.h文件中?
-
我在整个项目中都在使用它,它是全球性的。
-
@HansPassant:他只有一个类的instance。
标签: c++ struct global-variables extern