gpt4 book ai didi

c++ - 带有 extern 关键字的 VS2010

转载 作者:搜寻专家 更新时间:2023-10-31 01:57:22 24 4
gpt4 key购买 nike

我有以下两个文件:

  1. foo.h
  2. 酒吧.cpp

foo.h 中,我声明了一个变量 extern

现在,我想在 bar.cpp 中使用相同的变量(在包含 foo.h 之后)。

在 VS2008 和 VS2010 下出现unresolved external symbol 错误,而在 Ubuntu 下使用 gcc 编译成功。

(即,我正在尝试编译以下源代码 :http://www.fromdual.com/using-mysql-user-defined-functions-udf ;foo.h 指的是 srv0srv.h,bar.cpp 指的是源代码。所有包含都已到位,编译成功,链接跌倒)

可能是什么问题?

最佳答案

extern 关键字向编译器表明它后面的变量已经在别处声明。它实际上并没有为变量分配空间。如果您想创建一个可以通过包含头文件使用的全局变量(顺便说一句,这通常是个坏主意),您可以按以下方式进行。

在 foo.h 中:

extern int myVar;

在 foo.cpp 中:

int myVar;

myVar 现在位于 foo.cpp 中,但 foo.h 中的 extern 语句允许其他文件(例如 bar.cpp)中的代码通过包含 foo.h 来访问它。

关于c++ - 带有 extern 关键字的 VS2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5718556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com