外部联系是什么意思?
What does external linkage mean
考虑以下代码:
#include <stdio.h>
namespace EnclosingNmspc
{
namespace Nmspc
{
extern int a;//This a and the a defined above denote the same entity
int a=5;
}
}
extern int a;
int main()
{
printf("%dn",a);
}
这是3.5/2的报价:
当一个名称具有外部链接时,它所表示的实体可以是从其他翻译单位的范围或从的名称引用同一翻译单元的其他作用域。
我不明白为什么这个规则对我不起作用?我有undefined reference
链接错误
你的问题已经在那里得到了典型的回答。
您在不同的编译单元中缺少::a
的定义。
int a=5;
实际上在同一范围内定义了extern int a;
。但是不能用
printf("%dn",a);
主程序中的。要检查名称空间中的内容,请尝试
printf("%dn",EnclosingNmspc::Nmspc::a);
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 当我们说在执行程序时将操作系统的控制权传递给main()函数时,我们的意思是什么
- 这句话在c++中的意思是什么
- 这个typedef的意思是什么
- 这句话的意思是什么
- 意思是什么
- 这个句法的意思是什么?