【发布时间】:2017-03-22 18:02:28
【问题描述】:
在我的 c++ 代码中,我定义了一些公共和私有标头。私有标头只能包含在这些基于某些 #ifdef 的公共标头中。
如果用户直接包含这些私有标头,如何向用户抛出错误或警告?
【问题讨论】:
-
一般来说 - 如果标头是私有的,则不应首先将其传递给最终用户。如果它被传递给用户 - 它是一个公共标头。
-
根据允许包含私有标头的条件,您可以在标头中添加
#if !(condition) #error #endif。 -
不应该关闭,这实际上并不是所提到问题的重复,@jpo38 的回答提出了一个有效的观点,并为其他想尝试这个的人提供了指导