的實例繼承我有兩個類如在頭文件從模板類
template<size_t N>
class Parent{
protected:
char array[N];
size_t i;
public:
virtual void operator()(int i);
};
template<size_t N>
void Parent<N>::operator()(int i){
this->i = i;
}
class Child: public Parent<16>{
public:
virtual void operator()();
};
孩子有操作者()()以CPP文件別處定義如下。每當我從另一個cpp文件中包含這個頭文件時,我可以訪問operator()(),但operator()(int)甚至沒有定義。爲什麼是這樣?我認爲,因爲我繼承了Parent的特定實例,所以它的所有方法都應該實例化並且可用。
那是實際的代碼嗎?你有一個沒有返回類型的函數。 –
顯示您正在使用的確切代碼(或縮小的同一事物的示例)和編譯器錯誤。 – selalerer
您可以通過縮進代碼來幫助人們...... – arne