我正在使用 Visual Studio。我遇到过如下代码:
typedef struct A_def A;
typedef struct A *A_ptr;
A_def 被隐藏。它是一种不透明的类型。它的实现是隐藏的,所以当我转到它的定义时,VS 中什么也没有发生。
这是因为实现/定义隐藏在 .dll 或 .lib 文件中吗?如果是这样,我如何通过使用 dumpbin 或类似工具来确认 A_def 定义的存在?
此外,如果这确实是一个不透明类型,为什么它会被称为未来声明的结构或前向声明(这种不透明类型的定义被抛出),因为它已经声明并且只对用户隐藏?