我有这个 cpp 文件,其中包含一堆 C 文件。
main.cpp
extern "C" {
#include "types.h"
#include "file1.h"
}
...
类型.h
#IFNDEF TYPES_H
#DEFINE TYPES_H
typedef unsigned short int char16;
...
#ENDIF // TYPES_H
file1.h
#include "file2.h"
...
file2.h
...
char16* testCode();
...
出于某种原因,编译器给我一个错误,指出未声明 char16。知道为什么包含不从 CPP 文件继承到 C 文件吗?任何帮助表示赞赏。谢谢!
最佳答案
您应该在 file2.h 中包含 types.h。你似乎没有那样做。
顺便说一句,发布的代码在我的机器上编译没有任何错误,而如果我在 main.cpp 中注释 "#include "types.h"
,它会给我一个错误。
关于C++ 包括 C 文件(未找到 typedef),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10835660/