c - 在 C 中,我可以推迟头文件的 "typedef"直到我包含并使用头文件吗?

标签 c generics include typedef

我有 2 个文件:stack.hstack.c。它们都有一个未定义的类型elem_type

所以我的问题是:在我包含 stack.h 之前我是否可以让它们未定义,然后根据调用文件的需要给它一个定义?

最佳答案

您不能在 C 中的 stack.c 中留下未定义的类型,因为当编译器尝试编译 stack.c 时,它将无法确定类型。

在 C++ 中,这是通过模板实现的。

关于c - 在 C 中,我可以推迟头文件的 "typedef"直到我包含并使用头文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58485717/

相关文章:

c++ - Python.h : No such file or directory

c - 在 gcc 中使用嵌套循环时 printf 不起作用

Java泛型如何在泛型参数中接受任何派生类型

有人可以逐行解释这个简短的 C 程序的作用以及如何运行它吗?

Scala - 返回与作为参数传递的类型相同的类型

java - 遍历数据结构的元素而不是集合

c++ - 旧版本的 boost.test 问题

xml - 用户界面 :insert not being replaced by ui:define

c - 在哪里可以获得 OpenMP 的 .h 文件?

c - 程序要求用户输入文本文件,然后用相同长度的单词替换单词