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

标签 c++ c

我有这个 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/

相关文章:

c++ - 问题 : No package 'libcrypto' found

c++ - 如何解决这里的编译错误 - 对于 C++ 中的观察者模式?

c - 将控制台所有权返回给父进程

C-从文件中读取

c - C 编译器如何处理后增量 (i++),内存明智?

c - 冒泡排序链表,交换指针。 C

c++ - C++ 中运算符 < 重载的问题

c++ - GPIO模式寄存器

c++ - 如果满足 "if statement",则创建常量变量

c - 通过中断检测热插拔