extern float
时间: 2023-11-06 21:05:38 浏览: 41
根据提供的引用内容,extern是一个关键字,用于在一个源文件中声明一个在另一个源文件中定义的变量或函数。它的作用是告诉编译器在其他源文件中有一个全局变量或函数的定义,这样编译器就不会在当前源文件中为该变量或函数分配内存或生成代码。在C++中,extern可以用于声明全局变量和函数。在全局变量的声明中,extern关键字可以省略,因为全局变量默认情况下就是extern的。在函数的声明中,extern关键字也可以省略,因为函数默认情况下就是extern的。
相关问题
c++在一个函数中声明一个extern float变量,然后在另一个函数中使用该变量,代码怎么实现
首先,在一个函数中声明extern float变量,表示该变量在另一个文件中已经定义,需要在当前文件中引用。例如,在函数A中声明extern float变量x:
```c++
// functionA.cpp
void functionA() {
extern float x;
// do something with x
}
```
然后,在另一个函数B中使用该变量x,需要在B函数前面声明x的类型和名称,但是不需要再次定义该变量。例如,在函数B中使用变量x:
```c++
// functionB.cpp
extern float x;
void functionB() {
// do something with x
}
```
最后,在链接时将两个文件链接在一起,即可实现在一个函数中声明extern float变量,然后在另一个函数中使用该变量的功能。
warning: 'extern' variable has an initializer [-Wextern-initializer] extern float Filter_factor = 0.5;
这个warning的意思是在一个extern变量的定义中出现了初始化器,但是extern变量是在其他地方定义的。这可能导致重复定义的错误。这个问题可以通过将初始化器移动到变量的声明中来解决,或者将变量的定义放在一个源文件中,并在其他源文件中使用extern关键字来声明它而不是定义它。例如:
在头文件中声明:
extern float Filter_factor;
在一个源文件中定义:
float Filter_factor = 0.5;
在其他源文件中使用:
extern float Filter_factor;