在Visual Studio代码中成功编译
extern "C" char Table[256][256];
Run Code Online (Sandbox Code Playgroud)
如果我用上面的代码替换
extern char Table[256][256];
Run Code Online (Sandbox Code Playgroud)
visual studio开始给我表未解决的外部错误?
这是关键字的两个不相关的含义extern.
第一个是语言链接说明符,它使变量与C可互操作.
第二个是存储类说明符,它声明变量是在别处定义的(它不是,因此是"未定义的引用"错误).
您实际上可以使用两者来声明具有在其他地方定义的C链接的变量:
extern "C" extern char Table[256][256];
Run Code Online (Sandbox Code Playgroud)