gpt4 book ai didi

c++ - _Decimal64 在 C++ 中没有类型

转载 作者:行者123 更新时间:2023-11-27 23:55:29 27 4
gpt4 key购买 nike

我正在使用 GNU 混合 C 和 C++ 源代码。 _Decimal64 在 C 中被很好地识别,但在 C++ 中则不然。 C++ 提示 error: '_Decimal64' does not name a type

有什么办法可以解决这个问题吗?我应该将其视为编译器错误吗?

2017 年 3 月 20 日 18:19 更新:

到目前为止,没有一个答案符合我的要求。我不想使用 decimal64 C++ 类,我想使用 _Decimal64 C 类型。我的项目大部分是用C写的,但是我想慢慢引入C++代码。例如,这里是 cell.h 的一部分:

union vals
{
num c_n;
//double c_d;
char *c_s;
long c_l;
int c_i;
struct rng c_r;
};

cells.c中使用,当然是C代码。 numnumeric.h 中定义:

#pragma once

#ifdef __cplusplus
#define USE_DECIMAL 0
#else
#define USE_DECIMAL 1
#endif

#if USE_DECIMAL
typedef _Decimal64 num;
#define NUM_HUNDREDTH 0.01DL
#define NUM_TEN 10.0DL
#else
typedef double num;
#define NUM_HUNDREDTH 0.01
#define NUM_TEN 10.0
#endif

请注意,我已使用 typedef double num 在 C++ 端进行编译。 C++ 实际上没有 num 类型,但它不可避免地包含在内,因为它需要 C 文件中的某些功能。

当然是伪造的。num 不是 double ,它实际上是 _Decimal64。我在问如何解决这个问题。

最佳答案

对于 C++“decimal64”

使用 std::decimal::decimal64

标准说:

https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.6/a00454.html

关于c++ - _Decimal64 在 C++ 中没有类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42909530/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com