在使用
成功编译的visual studio代码中extern "C" char Table[256][256];
如果我用
替换上面的代码extern char Table[256][256];
visual studio开始为Table提供未解决的外部错误?
答案 0 :(得分:9)
这是关键字extern
的两个无关含义。
第一个是language linkage specifier,它使变量可以与C互操作。
第二个是storage class specifier,它声明变量是在别处定义的(它不是' t,因此"未定义的引用"错误)。
您实际上可以使用两者来声明一个在其他地方定义的C链接的变量:
extern "C" extern char Table[256][256];