我需要某種方式來實現「反向模板別名」。所以我會使用模板typedef在編譯時選擇正確的類。我想做到以下幾點:反向模板別名
typedef ClassA Temp<int>;
typedef ClassB Temp<char>;
ClassA和ClassB的不是模板類,但我想通過使用模板來選擇合適的班級。所以如果需要Temp> < int>,它實際上會使用ClassA。在C++中甚至有可能這樣嗎?我嘗試了以下,但它沒有奏效。
template<>
typedef ClassA Temp<int>;
template<>
typedef ClassB Temp<char>;
我得到了以下錯誤在GCC
error: template declaration of ‘typedef’
你能給出你想要實現的代碼示例嗎?在你的例子中,ClassA和ClassB是具體類型,而不是模板。 –
而且你不能模擬typedef。但是有一些解決方法,取決於你想要做什麼。 –