extern" C" char表[256] [256];和extern char表[256] [256];

时间:2018-02-22 10:07:29

标签: c++ visual-c++

在使用

成功编译的visual studio代码中
extern "C"  char Table[256][256]; 

如果我用

替换上面的代码
extern char Table[256][256];

visual studio开始为Table提供未解决的外部错误?

1 个答案:

答案 0 :(得分:9)

这是关键字extern的两个无关含义。

第一个是language linkage specifier,它使变量可以与C互操作。

第二个是storage class specifier,它声明变量是在别处定义的(它不是' t,因此"未定义的引用"错误)。

您实际上可以使用两者来声明一个在其他地方定义的C链接的变量:

extern "C" extern char Table[256][256];