1
我已經有了一個模板類:如何定義模板類的模板
template <class T>
class A
{
...
protected:
T m_value;
}
,我想TE讓使用這個類爲載體的模板:
template <class T>
class B:public A<std::vector<T>> //no need of space between >> (c++11)
{
void testSize()
{
if(m_value.size() > ...)
{
...
}
}
}
編譯器抱怨about:error:'m_value'在這個範圍內沒有聲明
有沒有一種方法可以做到這一點或讓我爲每個std :: vector類型直接使用A類重新編碼這個函數?
感謝,
編輯:
我tryed這一點:
template <class T>
class B:public A<std::vector<T>> //no need of space between >> (c++11)
{
void testSize()
{
if(m_value.size() > ...)
{
...
}
}
std::vector<T> m_value;
}
編譯器不抱怨了,但確實堪稱一流的m_value函數的參考類的m_value B'
非常感謝!很簡單,我很慚愧! – user3541297