2
在下面,不應該由基於派生類構造函數參數類型的編譯器生成基類構造函數嗎?基類模板實例化取決於派生類構造函數參數類型
template <class T>
class foo
{
int a;
public:
foo(T a){}
// When I convert the constructor to a function template, it works fine.
// template <typename T> foo(T a){}
};
class bar : public foo<class T>
{
public:
bar(int a):foo(a){}
};
int main(void)
{
bar obj(10);
system("pause");
return 0;
}
錯誤C2664: '富::富(T)':無法從 '詮釋' 轉換參數1 'T'
我理解錯誤,但爲什麼會這樣?
從f在'foo'中寫入第一個代碼`T`,說`bar`模板參數也是`foo`模板參數。我對麼 ? –
Mahesh
2011-01-06 20:59:37