假設我有這樣的代碼:如何克服GCC限制「無法將模板參數'0'轉換爲'Foo *'」?
template<class T, T initial_t> class Bar {
// something
}
,然後嘗試使用這樣的:
Bar<Foo*, NULL> foo_and_bar_whatever_it_means_;
GCC撈出錯誤(以上線):
無法將模板參數 '0'轉換爲'Foo *'
我發現這個線程:http://gcc.gnu.org/ml/gcc-help/2007-11/msg00066.html,但我必須在這種情況下使用NULL(好吧,我可能重構 - 但它不會是微不足道的;有什麼建議麼?)。我試圖通過創建一個值爲NULL的變量來克服這個問題,但是GCC仍然抱怨我傳遞變量而不是變量地址作爲模板參數。並且對使用默認ctor初始化的變量的引用不會與NULL相同。
兩者都不起作用... – 2008-11-09 13:25:36