我有一个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"
,它会给我一个错误。