对于我的C ++类,我想编译而不包括默认路径。 这样,如果我忘记包含在使用assert的文件中,编译器将抛出错误。现在,我的编译器自动包含assert.h,但是该课程的自动测试系统编译器会抛出错误,因为它不会自动包含,这通常会引起混淆。
此主题显示如何列出默认包含目录: What are the GCC default include directories?
答案 0 :(得分:1)
我认为你至少混合了 3 概念。有默认包含路径。它们不会导致包含任何文件。有强制包括。它们可能导致包含assert.h
,但您必须明确地让编译器执行此操作。
最后,任何C ++标题都可能间接包含assert.h
,这就是你所发生的事情 - 据我所知,没有看到真正的代码。