我希望尽量减少对第三方标头(kiss_fft.h)的依赖。在标题中定义了一个匿名结构,我真的想在我的代码中交替使用我自己的别名(或一些模糊的等价物)。
我不应该改变的外部定义:
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 是一个变量而不是一个类型,但也许你知道的解决方法......?
我已经在这里寻找解决方案,并且在更广泛的网络上,但没有任何东西跳出来。我希望这只是我所知的差距,但接受可能没有明智的解决方案。提前谢天谢地!
答案 0 :(得分:0)
typedef struct {
float r;
float i;
} kiss_fft_cpx;
typedef kiss_fft_cpx FTBuffer;
int main()
{}
无论是作为C ++还是作为C都可以正常工作,所以问题是你做的其他事情(或者更确切地说,不做)。