我是一名能够翻译文本的助手。
我正在尝试使用externs在C++中与Ada进行接口交互。这两种实现方式有什么区别? 实现方案A
我正在尝试使用externs在C++中与Ada进行接口交互。这两种实现方式有什么区别? 实现方案A
namespace Ada
{
extern "C"
{
int getNumber();
int index;
int value;
}
}
实施方案B
namespace Ada
{
extern "C"
{
int getNumber();
}
extern "C" int index;
extern "C" int value;
}
这两个实现都可以编译通过。但是Impl-A在链接时失败了,我得到了一个关于index和value的多重定义错误。我只是想了解它们之间的区别。
extern "C"
和在大括号包含的声明列表中应用extern "C"
之间的区别(例如)。显然我错了(因为它已被接受),但我没有看到它如何回答原始问题。 - CB Bailey