我很想盡量減少對第三方頭文件的依賴(kiss_fft.h)。在頭文件中定義了一個匿名結構,我真的很想在我的代碼中交替使用我自己的別名(或某些模糊的等價物)。匿名c類型的C++別名
外部定義,我不該改變:
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是一個變量而不是一個類型,但也許有一個工具你知道...嗎?
我在這裏搜索瞭解決方案,並在更廣泛的網絡上,但沒有什麼是跳出來的。我希望這只是我的知識上的一個缺口,但接受可能沒有可取的解決方案。提前樂觀感謝!
您是否正在使用支持C++ 11功能(如「decltype」)的編譯器? – 2012-08-16 14:28:08
'kiss_fft_cpx'是一個類型名稱,應該可以用作基類和'typedef's。 [Example。](http://liveworkspace.org/code/04fe7d6c236d4f9e59029b8440048885) – Xeo 2012-08-16 14:28:46
在VC++ 2010中無問題工作 – 2012-08-16 14:30:13