我希望尽量减少对第三方头文件(kiss_fft.h)的依赖。该头文件中定义了一个匿名结构体,我真的很想在我的代码中使用自己的别名(alias)(或一些模糊等效物)来代替它。
我不应该更改的外部定义:
typedef struct {
float r;
float i;
} kiss_fft_cpx;
我的第一次尝试:
typedef kiss_fft_cpx FTBuffer;
// yields error: 'kiss_fft_cpx' does not name a type
我的第二次尝试:
struct FTBuffer : public kiss_fft_cpx {};
// yields error: expected class-name before '{' token
我想我的问题在于 kiss_fft_cpx 是一个变量而不是一种类型,但或许你知道解决方法…?
我已经在这里和互联网上搜索了解决方案,但没有找到合适的。希望这只是我知识上的短板,但也接受可能没有可行的解决方案。提前感谢您的乐观回复!
decltype
的编译器? - Björn Pollexkiss_fft_cpx
不是一个变量,它是一个定义的类型。你的代码没问题,(参见示例)...我认为你的问题可能源于别处;也许你没有正确地包含包含kiss_fft_cpx
的头文件? - Eitan T