我顯然誤解有關模板特重要的東西,這是因爲:模板專業化與常量
template<typename type> const type getInfo(int i) { return 0; }
template<> const char* getInfo<char*>(int i) { return nullptr; }
失敗,編譯:
src/main.cpp:19:24: error: no function template matches function
template specialization 'getInfo'
而
template<typename type> type getInfo(int i) { return 0; }
template<> char* getInfo<char*>(int i) { return nullptr; }
作品精細。我如何使用const
和模板專業化?我的菜鳥錯誤是什麼?
我在鏗鏘聲++上使用C++ 11。
謝謝。我必須遲早得到const規則的鞏固。 const返回類型的原因涉及到原始代碼。上面的版本是我對問題的最小再現,所以是的,在這裏並不是很有用。 – Ian 2013-02-26 19:06:41