gpt4 book ai didi

c++ - Boost FFT 示例 - 编译时出错,这段代码在做什么?

转载 作者:行者123 更新时间:2023-12-02 07:04:24 26 4
gpt4 key购买 nike

我正在按照以下链接中的示例进行操作:

https://www.boost.org/doc/libs/1_55_0/libs/math/doc/html/math_toolkit/high_precision/use_multiprecision.html

我在以下行中收到错误:

[&n](cpp_dec_float_50& y)


g++ -I ../boost_1_71_0 fft.cpp -o fft
fft.cpp:52:3: error: expected expression
[&n](cpp_dec_float_50& y)
^
1 error generated.

完整的 block 是:

// Generate the sine values.
std::for_each
(
sin_values.begin (),
sin_values.end (),
[&n](cpp_dec_float_50& y)
{
y = sin( pi<cpp_dec_float_50>() / pow(cpp_dec_float_50 (2), n));
++n;
}
);

“[&n](cpp_dec_float_50& y)”实际上在做什么?为什么会出错?

最佳答案

What is [&n](cpp_dec_float_50& y) actually doing?

这是 lambda expression 的第一部分,一个匿名函数。

And why is it erroring?

您需要针对 C++11(或更高版本)进行编译。在编译器中使用 -std=c++11 (或 -std=c++14-std=c++17)命令行。 例如:

g++ -std=c++11 ...

关于c++ - Boost FFT 示例 - 编译时出错,这段代码在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58243631/

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