C++包括 C 文件(找不到 typedef)

C++ including C file (typedef not found)

本文关键字:找不到 typedef 文件 包括 C++      更新时间:2023-10-16

我有一个cpp文件,其中包含一堆C文件。

主.cpp

extern "C" {
#include "types.h"
#include "file1.h"
}
...

类型.h

#IFNDEF TYPES_H
#DEFINE TYPES_H
typedef unsigned short int char16;
...
#ENDIF // TYPES_H

文件1.h

#include "file2.h"
...

文件2.h

...
char16* testCode();
...

由于某种原因,编译器给了我一个错误,即 char16 未声明。知道为什么包含不从 CPP 文件继承到 C 文件吗?任何帮助,不胜感激。谢谢!

您应该在 file2.h 中包含 types.h。你似乎没有这样做。

顺便说一句,发布的代码在我的机器上编译没有任何错误,而如果我在main.cpp中注释"#include "types.h",它会给我一个错误。