this is the error that i am getting pls. help me out
Expand|Select|Wrap|Line Numbers
- #include <iostream>
- #include <vector>
- #include<windows.h>
- //#include "class.h"
- int flag =0;
- class Cthread;
- template <typename T>
- class MyQueue
- {
- CEvent *vent;
- std::vector<T> data;
- public:
- MyQueue();
- void Add(T const &);
- void Remove();
- void Print();
- void run();
- ~MyQueue();
- };
- class Cthread
- {
- MyQueue<int> q;
- public:
- Cthread(){}
- Cthread(Cthread &t)
- {
- t.q.run();
- }
- void initialize();
- };
- template <typename T>
- MyQueue<T> ::MyQueue()
- {
- //vent = new CEvent(false,false);
- }
- template <typename T>
- MyQueue<T> ::~MyQueue()
- {
- //CEvent::Unlock();
- }
- template <typename T> void MyQueue<T> ::Add(T const &d)
- {
- //if(vent->SetEvent())
- {
- data.push_back(d);
- //vent->ResetEvent();
- }
- }
- template <typename T> void MyQueue<T>::Remove()
- {
- std::cout<<data[0];
- data.erase(this->data.begin( ) + 0,this->data.begin( ) + 1);
- }
- template <typename T> void MyQueue<T>::Print()
- {
- std::vector <int>::iterator It1;
- It1 = data.begin();
- for ( It1 = data.begin( ) ; It1 != data.end( ) ; It1++ )
- std::cout << " " << *It1<<endl;
- }
- template <typename T>
- void MyQueue<T>::run()
- {
- while(flag != 100)
- {
- std::cout<<"in run function\n";
- if(flag == 1)
- {
- //Sleep(5000);
- this->Remove();
- flag = 0;
- //vent->ResetEvent();
- }
- else
- {
- Sleep(1000);
- continue;
- }
- }
- }
- void Cthread ::initialize()
- {
- int data;
- while(true)
- {
- std::cout<<"enter the data\n";
- std::cin>>data;
- if(data == 9999)
- exit(0);
- q.Add(data);
- flag = 1;
- }
- }
- void *ptr(Cthread &t)
- {
- t.initialize();
- return NULL;
- }
- void main()
- {
- DWORD id;
- HANDLE hthread;
- std::cout<<"before object created\n";
- Cthread t;
- std::cout<<"after object created\n";
- hthread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ptr,&t,0,&id);
- t = Cthread(t);
- getchar();
- getchar();
- }