以下代码可以很好地编译Visual Studio 2013(可能是因为<iostream>
包含<limits>
),但是&#34;缺少&#34; #include <limits>
阻止我作为C ++新手有时会理解发生了什么。例如,我意识到std::numeric_limits<int>::max()
仅在删除<limits>
之后才在#include <iostream>
。
那么如何强制编译器要求每个包含显式?
#include <iostream>
int main() {
std::cout << std::numeric_limits<int>::max();
}
答案 0 :(得分:0)
虽然这不是编译器&#34;警告&#34;也就是说,您可以让MSVC编译器在编译时使用/showIncludes
标记MSDN compiler reference