0
正如在問題中。我想做一個能夠管理不同向量的函數。我想過使用繼承。如何創建一個函數族,將其作爲不同類的向量參數?
class A : public C {public: void do();};
class B : public C {public: void do();};
class C {
public:
virtual void do();
}
現在我的功能,應多班工作,在這裏:一個在我的節目B
void function(vector<C*>* array) {
for (int i = 0; i < array->size(); i++) {
array->at(i)->do();
}
}
,我用這個函數那樣:
vector<A*>* array = new vector<A*>();
array->push_back(new A());
function(array);
但它不沒有工作。我不知道如何解決這個問題。
The Visual Studio reports that it cannot convert from vector<A*>* to vector<C*>*
那麼爲什麼不能模板功能? –
我看了一些關於模板的內容,但我不知道該怎麼做。我會嘗試使用它們。 –
@FirstStep:他沒有說過沒有模板功能。他說他不知道如何解決這個問題。解決方案很可能是一個模板功能。 –