mdsk.net
当前位置:首页 >> 类里面数据成员包含STL的<STACK>怎么出错了? >>

类里面数据成员包含STL的<STACK>怎么出错了?

你是漏了using namespace std;这句吧。 比如应象下面这样 //-------------------------------------- #include #include #include using namespace std; int main() { stack stack1; stack1.push(2); stack1.push(221); cout

只能用find了 stack s; E e; 判断: std::find( s.begin(), s.end(), e ) != s.end ()

#include #include using namespace std;typedef struct{ int x; int y;}element;void main(){ stack s; element ele; for( int i=0; i < 10; i++ ) { ele.x = i; ele.y = i; s.push(ele); } while(!s.empty()) { ele = s.top(); printf("%d\t%d...

std::stack只是一个适配器,需要实际的容器(第二个参数)来实现它的功能.这个容器必须提供一下的函数: empty size back push_back pop_back stack以vector作为底层数据结构 就是说你对stack做的任何操作都会转接到vector,比如调用stack的push...

struct CAtlPlex { CAtlPlex* pNext; DWORD dwRef; void* data() { return this+1; } static CAtlPlex* Create(CAtlPlex*& head, size_t nMax, size_t cbElement); void FreeDataChain(); }; inline CAtlPlex* CAtlPlex::Create( CAtlPlex*& pHe...

strcpy是用来复制字符串的。strcpy(&c,&(str->c_str())[i])这句的作用不是把str的第i个字符赋值给C, 而是把str从第i个字符开始的字符串赋值到以变量c地址开始的连续地址中去。你的变量只是一个字符变量,所以赋值时会出现非法写操作。

看你的stack里存的什么类型了,如果不是指针,可以这么做(这里以int为例) stack s; if (!s.empty()) s.swap(stack()); assert(s.empty()); // 此时s就被清空了

queue:队列,先进先出、后进后出 list:链表,存储的内存不连续,适合频繁插入删除的时候 map:关联容器,适合存储关联数据对“” stack:栈,后进先出

程序员在此

#include using namespace std;templateclass MyPittyStack{int i;public:Type a[100];bool push(Type n);Type &top();MyPittyStack();};templateMyPittyStack::MyPittyStack(){i = 0;}templatebool MyPittyStack::push(Type n){a[i++] = n;retu...

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com