我有一个头文件,我可以控制它的内容。
另外,我有一个接口 I1 (在其他一些文件中定义),其中各种
派生的实现。我想禁止这些实现包括这个
头文件。因此,在编译时,如果包含该文件,编译将会失败,
否则它将照常继续。
所以我有头文件和接口定义(在其他文件中)。我想禁止
接口实现在编译期间包含给定的头文件。
关于我如何实现这一目标有什么建议吗?我可以使用一些聪明的模板/预处理技巧吗?
在头文件中:
#ifndef FOO_IMPLEMENTATION_USE_ONLY
#error This file is for inclusion in the FOO implementation only
#endif
在应该包含它的文件中:
// Define this ONLY in the Foo implementation files
#define FOO_IMPLEMENTATION_USE_ONLY
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)