匿名c类型的c ++别名

时间:2012-08-16 14:24:24

标签: c++

我希望尽量减少对第三方标头(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 是一个变量而不是一个类型,但也许你知道的解决方法......?

我已经在这里寻找解决方案,并且在更广泛的网络上,但没有任何东西跳出来。我希望这只是我所知的差距,但接受可能没有明智的解决方案。提前谢天谢地!

1 个答案:

答案 0 :(得分:0)

typedef struct {
    float r;
    float i;
} kiss_fft_cpx;

typedef kiss_fft_cpx FTBuffer;

int main()
{}

无论是作为C ++还是作为C都可以正常工作,所以问题是你做的其他事情(或者更确切地说,不做)。