2011-07-01 34 views
0

這涉及到:C++的std :: basic_string的/ char_traits專業化

std::basic_string specializationCircumventing template specialization

我試圖解決從std::basic_string specialization,但問題是,CustomChar是wchar_t的一個typedef,我有重新定義(與std的專業化衝突)。當我不允許更改CustomChar typedef時,如何避免使用chart_traits?

+2

您仍然可以使用'wchar_t'作爲'std :: basic_string'的'charT'模板參數,從而提供一個可選的'traits'類(即除std :: char_traits特殊化之外的其他類)。 –

+0

它的工作原理,謝謝 – Felics

+0

這就是爲什麼C++應該在戶外拍攝。 –

回答

0

這是由查爾斯·貝利提供的評論答案:

可以提供一個可選的特性類(即東西比一個std :: char_traits專業化等),而仍然使用的wchar_t爲圖表模板參數爲std :: basic_string

0

如果存在已知的先前實例,則可以使用Boost's/C++ 0x的disable_if來禁用,如charwchar_t的情況。