gpt4 book ai didi

c++ - static 变量后跟 extern 在同一个文件中

转载 作者:行者123 更新时间:2023-11-28 01:21:00 25 4
gpt4 key购买 nike

以下代码编译和执行都很好。extern int a 语句在 static int a 之后究竟意味着什么。请注意,如果我在 extern int a 之后编写 static int a,编译器将抛出错误作为 tests.cpp:6: error: a was declared extern and later static

#include<iostream>
//#include "testh.h"
using namespace std;

static int a;
extern int a;
int main()
{
int a;
a=3;
cout<<a<<endl;
cout<<::a<<endl;
return 0;
}

最佳答案

您可以先声明一个变量static,然后再声明extern,但不能先声明extern,再声明static。结果是全局 a 仍然有内部链接。在语言标准文档的 [dcl.stc] 部分中有一个非常相似的示例(使用 b 作为变量名),说明了这一点。

关于c++ - static 变量后跟 extern 在同一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56285734/

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