Decimal.h C++ 库错误

Decimal.h C++ library errors

我正在 PPP Bjarne Stroustrup 书中学习 C++。在第四章,我意识到了双重不精确问题,我开始寻找一些替代方案(十进制类型)。

我找到了 this 库,但是我的编译器在 lib 文件中显示了一些错误。

Description Resource    Path    Location    Type
'::max' has not been declared   chapter4.drill      line 46, external location: C:\Users\GAMEOVER\Documents\Libaries\decimal_for_cpp-master\include\decimal.h   C/C++ Problem
Description Resource    Path    Location    Type
'numeric_limits' is not a member of 'std'   chapter4.drill      line 46, external location: C:\Users\GAMEOVER\Documents\Libaries\decimal_for_cpp-         master\include\decimal.h  C/C++ Problem
Description Resource    Path    Location    Type
expected primary-expression before '>' token    chapter4.drill      line 46,   external location: C:\Users\GAMEOVER\Documents\Libaries\decimal_for_cpp-master\include\decimal.h C/C++ Problem

你可以在这里看到第 46 行:

#ifndef DEC_NO_CPP11
#include <cstdint>
46. #define DEC_MAX_INT32 (std::numeric_limits<int32_t>::max())
#else
#ifndef DEC_EXTERNAL_LIMITS

#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
#endif

#if defined(__GXX_EXPERIMENTAL_CXX0X) || (__cplusplus >= 201103L)
#include <cstdint>
#else
#include <stdint.h>
#endif

#endif

#define DEC_MAX_INT32 INT32_MAX

#endif

我将 Eclipse 与 MinGW + GCC (4.8.1) 一起使用 另外,我将编译器设置为使用 C++11

*如果您有任何改进我的问题的建议,请说出来。

正如 Dieter 所说, 您只需包含此内容即可解决问题:

 #include <limits>

希望对其他人有所帮助。

现在已在 GitHub 存储库中更正。 请在 GitHub 注册与此库相关的问题 - 否则您可能会在这里被其他人否决(?)。