(C++) INT_MAX和INT_MIN无法解析?

8

我目前正在www.udemy.com上学习C++课程。在其中一节课中,老师使用#include <limits>来演示一个整数可以拥有的最大数字。然而,当我尝试包含limits时,一切都进行得很顺利,直到我尝试打印INT_MAX和INT_MIN以查看最大整数和最小整数。

以下是我的代码:

#include <iostream>
#include <limits>

using namespace std;

int main() {

    cout << "MaxInt= " << INT_MAX << endl;
    cout << "MinInt = " << INT_MIN << endl;
    return 0;
}

顺便提一下:我正在使用Windows 10上的Eclipse Neon CDT以及MinGW编译器。

4个回答

21

您应该使用#include <climits>或者<limits.h>,而不是<limits>


1
完美解决了!我知道文件在那里,因为我按下 F3 定位了文件,所以我知道只是打错了一些东西。谢谢! - Jake Ramos

8
更现代的做法不使用这些常量。
来自http://www.cplusplus.com/reference/limits/numeric_limits/的示例:
#include <iostream>     // std::cout
#include <limits>       // std::numeric_limits

int main () {
  std::cout << "Minimum value for int: " << std::numeric_limits<int>::min() << '\n';
  std::cout << "Maximum value for int: " << std::numeric_limits<int>::max() << '\n';
}

3
INT_MININT_MAX宏是获取int的最大值和最小值的C方式,它们在“climits”头文件中定义。
“limits”头文件定义了类模板std::numeric_limits,这是C++获取各种类型范围的方式。

1
为了使用 INT_MININT_MAX,你需要使用下面的语句引入头文件:#include <climits>#include <limits.h>,而不是 #include <limits>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接