我有一个问题要问两个文件之间传递静态变量.
现在我有一个文件Ac和第二个文件B.cpp
在Ac
static struct {
int
int
} static_variable
Run Code Online (Sandbox Code Playgroud)
现在Ac必须func()在B.cpp中调用一个函数,这个函数必须修改Ac中的static_variable
在B.cpp
func() {
static_variable = ***;
}
Run Code Online (Sandbox Code Playgroud)
我知道B.cpp无法访问Ac中的静态变量,所以如果我真的需要这样做,我该怎么办?
CB *_*ley 11
整个要点static是给对象或函数内部链接,这样你就不能从翻译单元外部引用它.如果这不是您想要的行为,那么您不应该将其设置为静态.您可以在一个翻译单元中定义它并在另一个翻译单元中声明它extern.
即使变量是static你可以将指向static变量的指针传递给另一个转换单元中的函数.内部链接仅适用于变量的名称,您仍然可以通过不要求您命名变量的方式来访问它.
| 归档时间: |
|
| 查看次数: |
2761 次 |
| 最近记录: |