【发布时间】:2025-09-15 09:45:02
【问题描述】:
我有一个 struct,我想在运行 main 的地方填写一个单独的源文件。在头文件中,我包含了 extern,但是当我在源文件中定义变量时它不起作用。
//This is a header file
struct example {
int data1;
float data2;
bool example;
}
extern example tmp;
然后在一个源文件中:
example *tmp = new example;
我收到错误“Expected unqualified-id”。这是为什么呢?
【问题讨论】:
-
你真的环顾四周了吗? *.com/questions/1433204/… 这里回答得很好。我也没有明白:你为什么使用不同的数据类型?(ptr 和 var)
-
我确实环顾四周,已经看到了。但是,它对这个特定实例没有帮助。我使用 ptr 是因为当我没有收到错误消息时:“没有从 'example*' 到 'example' 的可行转换”。我在答案的 cmets 中也提到了这一点。
标签: c++ declaration extern