小编Ozz*_*rne的帖子

C++:尝试将 std::rotate 与 fftw_complex 数据一起使用会产生错误:“数组必须使用大括号括起来的初始值设定项进行初始化”

我试图了解如何利用 fft 来处理我用软件定义的无线电捕获的数据。我发现了 C++ 的 fftw3 库,并尝试查找一些文档或教程,发现没有太多可以参考的内容。

\n

不过我确实找到了这个教程。执行 fft/ifft/等的代码。对我来说编译和工作得很好,但是当我尝试实现 fftShift 函数时,我收到以下编译器错误:

\n
In file included from /usr/include/c++/9/algorithm:62,\n                 from CppFFTW.cpp:13:\n/usr/include/c++/9/bits/stl_algo.h: In instantiation of \xe2\x80\x98_RandomAccessIterator std::_V2::__rotate(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, std::random_access_iterator_tag) [with _RandomAccessIterator = double (*)[2]]\xe2\x80\x99:\n/usr/include/c++/9/bits/stl_algo.h:1449:27:   required from \xe2\x80\x98_FIter std::_V2::rotate(_FIter, _FIter, _FIter) [with _FIter = double (*)[2]]\xe2\x80\x99\nCppFFTW.cpp:76:54:   required from here\n/usr/include/c++/9/bits/stl_algo.h:1371:16: error: array must be initialized with a brace-enclosed initializer\n 1371 |     _ValueType __t = _GLIBCXX_MOVE(*__p);\n      |                ^~~\n/usr/include/c++/9/bits/stl_algo.h:1373:22: error: invalid array assignment\n 1373 |     *(__p + __n - 1) = _GLIBCXX_MOVE(__t);\n      | …
Run Code Online (Sandbox Code Playgroud)

c++ fft fftw

4
推荐指数
1
解决办法
172
查看次数

标签 统计

c++ ×1

fft ×1

fftw ×1