在qt中使用extern
时间: 2023-08-01 15:14:54 浏览: 103
在Qt中使用`extern`关键字与在C++中使用是相同的。`extern`关键字用于声明一个全局变量或函数,它告诉编译器该变量或函数是在其他地方定义的。
在Qt中,你可以使用`extern`关键字来声明一个在其他文件中定义的全局变量或函数,并在当前文件中使用它。下面是一个示例:
假设你有两个文件:main.cpp 和 other.cpp,你希望在 main.cpp 中使用 other.cpp 中定义的全局变量 `myGlobalVar`。首先,在 main.cpp 中使用 `extern` 声明该变量:
```cpp
// main.cpp
extern int myGlobalVar;
int main()
{
// 使用 myGlobalVar
return 0;
}
```
然后,在 other.cpp 中定义该全局变量:
```cpp
// other.cpp
int myGlobalVar = 42;
```
这样,你就可以在 main.cpp 中使用 `myGlobalVar`,而不需要重新定义它。
对于函数的声明和定义,也可以使用 `extern` 关键字。例如,如果你希望在 main.cpp 中调用 other.cpp 中定义的函数 `myFunction()`,你可以这样做:
```cpp
// main.cpp
extern void myFunction();
int main()
{
// 调用 myFunction
myFunction();
return 0;
}
```
```cpp
// other.cpp
#include <iostream>
void myFunction()
{
std::cout << "Hello from myFunction!" << std::endl;
}
```
这样,你就可以在 main.cpp 中调用 `myFunction()`,而不需要重新定义它。
请注意,使用 `extern` 关键字时,你需要确保在使用之前已经在其他地方定义了相应的变量或函数。否则,编译器将会报错。
阅读全文