我可以动态创建 FFTW 变量吗?

问题描述

我正在尝试在某些模拟中实现快速傅立叶变换的 FFTW 算法。 FFTW 使用它自己的类型,称为 fftw_complex。这种类型的对象将被声明为:

fftw_complex object[N]

我希望这个对象成为某个类的一部分:

class Species{
    public:
        Species(std::string name,double mass,double charge,long number,World &world);
        
        /*STUFF*/
        
        fftw_complex direlec[world.N],tranelec[world.N];
    protected:
        World &world;
}

其中 N 是另一个类 World 的成员,其值已通过 World 构造函数建立。如果我写这样的东西,编译器会给出错误:

[错误] 'world' 未在此范围内声明

如何在类声明中获取 world.N 的值?我无法在构造函数中创建 complex_fft 对象,因为它必须知道声明中已有的编号 N。谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)