無論是否設計良好,我的main()
方法都會根據正在使用的數據結構(由輸入參數確定)來聲明一個變量,該變量需要符合BidirectionalIterator
定義(特別是list<>::iterator
或vector::iterator
)的任何迭代器。由於我無法模擬main()
方法,因此如何完成此操作?可能定義一個C++變量來接受任何BidirectionalIterator?
,而不是例如:
int main(int argc, const char* argv[]) {
vector<Person>::iterator iterator0;
list<Person>::iterator iterator1);
multimap<string, Person>::iterator iterator2;
}
由於所有有迭代器滿足BidirectionalIterator
的要求,我想做的事:
int main(int argc, const char* argv[]) {
bidirectionaliterator iterator0;
}
然後,我沒有檢查什麼不斷程序使用if語句來存儲迭代器並使用我想要的迭代器的數據結構。
你能更具體地說明你想做什麼嗎?目前,這聽起來像是你想將迭代器傳遞給'main()',這是沒有意義的。 – us2012 2013-02-18 04:41:10
請顯示實際的代碼(而不僅僅是描述)。 – 2013-02-18 04:41:15
請顯示實際的代碼(*以及*給出說明)。 – Johnsyweb 2013-02-18 04:44:31