Ругается на privat член noncopyable |
Здравствуйте, гость ( Вход | Регистрация )
Ругается на privat член noncopyable |
MInner |
6.12.2009, 3:34
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 5.12.2009 Пользователь №: 1277 Спасибо сказали: 0 раз(а) Репутация: 0 |
CODE #include <iostream> #include <boost/thread/thread.hpp> #include <boost/threadpool.hpp> #include <boost/asio.hpp> #include <boost/shared_ptr.hpp> #include <boost/enable_shared_from_this.hpp> class Connecter { public: typedef boost::shared_ptr<Connecter> ConPtr; private: boost::asio::io_service t_io; boost::asio::ip::tcp::socket _sock; Connecter(boost::asio::io_service& ios) : t_io(ios), _sock(ios) {} boost::asio::streambuf _inbuffer; public: static ConPtr givePtr(boost::asio::io_service& io){ return ConPtr(new Connecter(io)); } boost::asio::ip::tcp::socket Socket(){return _sock;} void Read(){ // we do, what we want... boost::asio::read_until(_sock, _inbuffer, "\r\n\r\n" ); } void Analys(){}; }; class PortListner { boost::asio::ip::tcp::acceptor p_acc; boost::asio::io_service p_io; boost::threadpool::pool _pool; Connecter::ConPtr _cur_con; void WaitForPromt(){ //waits till something happens p_acc.async_accept(_cur_con->Socket(), boost::bind(&PortListner::ThreadOut, this, boost::asio::placeholders::error)); } void ThreadOut(boost::system::error_code& e){ //hey! there's something there! if (!e){ _pool.schedule(boost::bind(&Connecter::Read , _cur_con)); //put it into it's own way... _cur_con = Connecter::givePtr(p_io); WaitForPromt(); } } public: PortListner(int port, int thnum):_pool(thnum), p_acc(p_io) {} }; int pulnum = 5; int portnum = 80; int main(){ PortListner(portnum, pulnum); return 0; } ргается мол: error C2248: boost::noncopyable_::noncopyable::noncopyable: невозможно обратиться к private член, объявленному в классе "boost::noncopyable_::noncopyable" d:\dv\boost\include\boost\boost\asio\io_service.hpp 519 вроде не копирую его же ж... |
|
|
MInner |
6.12.2009, 16:41
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 5.12.2009 Пользователь №: 1277 Спасибо сказали: 0 раз(а) Репутация: 0 |
ругался на попытки в конструкторе копировать io_servise и сокета и правильно делал....
Еще прару блох нашел, компилируется, но теперь вылетает с исключением "Нарушение прав доступа при чтении" в создании критических секций в win_mutex.hpp .... |
|
|
MInner |
7.12.2009, 17:43
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 5.12.2009 Пользователь №: 1277 Спасибо сказали: 0 раз(а) Репутация: 0 |
нашел ошибки... спасибо, можно тему закрыть вообщем-то)...
|
|
|
Litkevich Yuriy |
7.12.2009, 17:45
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
ViGOur |
7.12.2009, 23:00
Сообщение
#5
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Ты хоть скажи в чм они были, я пытался понять, но так и не понял!
|
|
|
MInner |
10.12.2009, 17:55
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 5.12.2009 Пользователь №: 1277 Спасибо сказали: 0 раз(а) Репутация: 0 |
за моральную поддержку)
soket и io_servise храню в указателях. И run() io_servise'y в конце программы дописал... |
|
|
ViGOur |
10.12.2009, 18:01
Сообщение
#7
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 17:48 |