我有这个cpp文件,其中包括一堆C文件。C++包括C文件(找不到typedef)
的main.cpp
extern "C" {
#include "types.h"
#include "file1.h"
}
...
types.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文件?任何帮助表示赞赏。谢谢!
'#IFNDEF','#DEFINE'和'#ENDIF'是非法的预处理指令 - 它们必须是小写。你也不应该用'extern“C''来包装'#include'语句。将*置于头文件中,并用'#ifdef __cplusplus' /'#endif'对保护。 –