Is there a way to declare a deque inside a deque of a certain class?
Example:
deque%26lt;deque%26lt;class%26gt;%26gt; doesn't work :(
C++ STL - deque?
#include %26lt;deque%26gt;
#include %26lt;string%26gt;
#include %26lt;iostream%26gt;
using namespace std;
int main( int argc, char* argv[] )
{
deque%26lt; deque%26lt;string%26gt; %26gt; doubleDeck;
deque%26lt; string %26gt; singleDeckA;
deque%26lt; string %26gt; singleDeckB;
singleDeckA.push_back("King of Hearts");
singleDeckA.push_back("Queen of Hearts");
singleDeckA.push_back("Jack of Hearts");
singleDeckB.push_back("King of Spades");
singleDeckB.push_back("Queen of Spades");
singleDeckB.push_back("Jack of Spades");
doubleDeck.push_back( singleDeckA );
doubleDeck.push_back( singleDeckB );
deque%26lt; deque%26lt;string%26gt; %26gt;::iterator ddit;
ddit = doubleDeck.begin();
while( ddit != doubleDeck.end() )
{
deque%26lt;string%26gt;::iterator it = ddit-%26gt;begin();
while( it != ddit-%26gt;end() )
{
cout %26lt;%26lt; *it++ %26lt;%26lt; endl;
}
ddit++;
}
}
The above code produced this output. It seems to
work.
[714] answers: g++ -Wall main1.cpp
[716] answers: ./a.out
King of Hearts
Queen of Hearts
Jack of Hearts
King of Spades
Queen of Spades
Jack of Spades
[717] answers:
Judging from how you defined it in your example, you may
have hit the "%26gt;%26gt;" quirk in templates. Try "%26gt; %26gt;". The compiler
gripes at you since "%26gt;%26gt;" is a streaming operator.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment