我想避免這種情況的警告或錯誤:可以買到不包含頭文件目錄
h1.hpp:
#include <vector>
//some code
main.cpp中:
#include "h1.hpp"
//#include <vector> This include is commented.
int main(){
std::vector<int> x; //works fine!
}
我想得到一個錯誤/警告,我正在使用<vector>
,但它不直接包含在MSVS中。
那真的不是預處理器的工作原理。如果頭文件包含在任何地方。 –
就編譯器而言,包含在main.cpp中,因爲預處理器從h1.hpp中添加它,所以編譯器不會知道差別....所以需要在預編譯器處理器的時間(或之前)...不知道這是可能的.... –
@JoachimPileborg是的,我知道沒有錯。但我希望編譯器能夠告訴我它不是直接包含在更深層次的。它可能是一個靜態分析工具的工作。但是,我在問是否可以由編譯器自己完成。 –