在visual studio代码中成功编译

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

如果我将上面的代码替换为
extern char Table[256][256];

Visual Studio 开始给我 Unresolved 表外部错误?

最佳答案

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

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

第二个是 storage class specifier ,它声明变量在别处定义(它不是,因此“ undefined reference ”错误)。

您实际上可以同时使用两者来声明一个在别处定义的带有 C 链接的变量:

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

关于c++ - extern "C"char Table[256][256]之间的区别;和外部字符表[256][256];,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48924624/

10-13 08:22