1. <i id='lHo7B'><tr id='lHo7B'><dt id='lHo7B'><q id='lHo7B'><span id='lHo7B'><b id='lHo7B'><form id='lHo7B'><ins id='lHo7B'></ins><ul id='lHo7B'></ul><sub id='lHo7B'></sub></form><legend id='lHo7B'></legend><bdo id='lHo7B'><pre id='lHo7B'><center id='lHo7B'></center></pre></bdo></b><th id='lHo7B'></th></span></q></dt></tr></i><div id='lHo7B'><tfoot id='lHo7B'></tfoot><dl id='lHo7B'><fieldset id='lHo7B'></fieldset></dl></div>
      2. <small id='lHo7B'></small><noframes id='lHo7B'>

          <bdo id='lHo7B'></bdo><ul id='lHo7B'></ul>

        <tfoot id='lHo7B'></tfoot>
      3. <legend id='lHo7B'><style id='lHo7B'><dir id='lHo7B'><q id='lHo7B'></q></dir></style></legend>

        警告 C4003 以及错误 C2589 和 C2059 在:x = std::numeric_limits<int

        warning C4003 and errors C2589 and C2059 on: x = std::numeric_limitslt;intgt;::max();(警告 C4003 以及错误 C2589 和 C2059 在:x = std::numeric_limitsint::max();)

          <i id='4A9q0'><tr id='4A9q0'><dt id='4A9q0'><q id='4A9q0'><span id='4A9q0'><b id='4A9q0'><form id='4A9q0'><ins id='4A9q0'></ins><ul id='4A9q0'></ul><sub id='4A9q0'></sub></form><legend id='4A9q0'></legend><bdo id='4A9q0'><pre id='4A9q0'><center id='4A9q0'></center></pre></bdo></b><th id='4A9q0'></th></span></q></dt></tr></i><div id='4A9q0'><tfoot id='4A9q0'></tfoot><dl id='4A9q0'><fieldset id='4A9q0'></fieldset></dl></div>

          1. <small id='4A9q0'></small><noframes id='4A9q0'>

              <tbody id='4A9q0'></tbody>
            <legend id='4A9q0'><style id='4A9q0'><dir id='4A9q0'><q id='4A9q0'></q></dir></style></legend>
            • <tfoot id='4A9q0'></tfoot>

                <bdo id='4A9q0'></bdo><ul id='4A9q0'></ul>

                • 本文介绍了警告 C4003 以及错误 C2589 和 C2059 在:x = std::numeric_limits<int>::max();的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  此行在一个小型测试程序中正常工作,但在我想要的程序中,我收到以下编译器投诉:

                  This line works correctly in a small test program, but in the program for which I want it, I get the following compiler complaints:

                  #include <limits>
                  
                  x = std::numeric_limits<int>::max();
                  
                  c:...x.cpp(192) : warning C4003: not enough actual parameters for macro 'max'
                  c:...x.cpp(192) : error C2589: '(' : illegal token on right side of '::'
                  c:...x.cpp(192) : error C2059: syntax error : '::'
                  

                  我得到了相同的结果:

                  #include <limits>
                  using namespace std;
                  
                  x = numeric_limits<int>::max();
                  

                  为什么将 max 视为宏 max(a,b);?

                  Why is it seeing max as the macro max(a,b); ?

                  推荐答案

                  当包含定义 minmax 宏的 Windows 标头时,通常会发生这种情况.如果您使用的是 Windows 标头,请将 #define NOMINMAX 放入您的代码中,或者使用等效的编译器开关进行构建(即,对于 Visual Studio,使用 /DNOMINMAX).

                  This commonly occurs when including a Windows header that defines a min or max macro. If you're using Windows headers, put #define NOMINMAX in your code, or build with the equivalent compiler switch (i.e. use /DNOMINMAX for Visual Studio).

                  请注意,使用 NOMINMAX 构建会禁止在整个程序中使用宏.如果需要使用 minmax 操作,请使用 std::min()std::max() 来自 标头.

                  Note that building with NOMINMAX disables use of the macro in your entire program. If you need to use the min or max operations, use std::min() or std::max() from the <algorithm> header.

                  这篇关于警告 C4003 以及错误 C2589 和 C2059 在:x = std::numeric_limits<int>::max();的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to print vector#39;s data(如何打印矢量的数据)
                  Visual C++ appends 0xCC (int3) bytes at the end of functions(Visual C++ 在函数末尾附加 0xCC (int3) 字节)
                  How to use a variable inside a _T wrapper?(如何在 _T 包装器中使用变量?)
                  MSVC++ warning flags(MSVC++ 警告标志)
                  How to read file which contains uxxxx in vc++(如何在vc++中读取包含uxxxx的文件)
                  stack overflow error in C++ program(C++程序中的堆栈溢出错误)

                  <tfoot id='kPgmw'></tfoot>

                    <small id='kPgmw'></small><noframes id='kPgmw'>

                      <tbody id='kPgmw'></tbody>
                    <legend id='kPgmw'><style id='kPgmw'><dir id='kPgmw'><q id='kPgmw'></q></dir></style></legend>
                      <bdo id='kPgmw'></bdo><ul id='kPgmw'></ul>

                    • <i id='kPgmw'><tr id='kPgmw'><dt id='kPgmw'><q id='kPgmw'><span id='kPgmw'><b id='kPgmw'><form id='kPgmw'><ins id='kPgmw'></ins><ul id='kPgmw'></ul><sub id='kPgmw'></sub></form><legend id='kPgmw'></legend><bdo id='kPgmw'><pre id='kPgmw'><center id='kPgmw'></center></pre></bdo></b><th id='kPgmw'></th></span></q></dt></tr></i><div id='kPgmw'><tfoot id='kPgmw'></tfoot><dl id='kPgmw'><fieldset id='kPgmw'></fieldset></dl></div>