gpt4 book ai didi

c++ - 构造 `long double` 右值

转载 作者:行者123 更新时间:2023-11-30 04:57:21 25 4
gpt4 key购买 nike

<分区>

假设我有以下 C++ 代码:

#include <cmath>
long double fn_d() {
return pow( double(4), double(3) );
}
long double fn_ld() {
return powl( long double(4), long double(3) );
}

MSVC 对此很满意,但 GCC 和 Clang 都对第二个函数感到困惑,写作(GCC 的输出):

<source>:6:34: error: expected primary-expression before 'long'
6 | return powl( long double(4), long double(3) );
| ^~~~

注意 fn_d(...)以上,工作得很好。 假设这不是两个编译器中的错误,我应该怎么做?


备注:(long double)(4) (即类型转换)不行。它绊倒-Wold-style-cast (你应该使用)。也许static_cast<long double>(4) ?这感觉很脏:我正在构造一个对象,而不是转换 int ,即使编译器会忽略它。

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