我有這個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'對保護。 –