我想我的模板化派生類der從foo繼承。 這只是一個測試代碼,我想看看我是否在這裏採取了正確的方法 der類本身是模板化的,我想要做的是在初始化列表der類中傳遞其基類foo的模板類型。我使用下面的代碼從另一個模板化結構繼承的模板化結構
template<typename t , typename u>
struct foo
{
void foo_method(t inp , u out)
{
std::cout << inp + out << "\n";
}
};
template <typename m>
struct der : public foo<t,u> //Error t was not declared in the correct scope
{
der():foo<t,u>(int,int)//I want to specify the types for the base class in initialization list
{
}
};
int main()
{
der<std::string> d;
}
現在,當我嘗試運行上面的代碼,我得到
Error t was not declared in the correct scope
上,我怎麼能解決這個問題有什麼建議?
轉載,編譯器應該如何知道什麼是'富<>'要從如果你不提供模板參數繼承? – 0x499602D2 2014-12-05 05:03:22
你的問題沒有多大意義。 'foo'沒有兩個參數的構造函數,所以你想傳遞給它的是什麼? 「t」和「u」應該是什麼? – Praetorian 2014-12-05 05:09:17