[boost::asio] Znowu problem z io_service

Odpowiedz Nowy wątek
2009-05-20 14:32
_bua
0

Chciałbym was prosic o napisanie co moze spowodowac błąd:

1>c:\program files\boost\boost_1_38\boost\asio\io_service.hpp(428) : error C2248: 'boost::noncopyable_::noncopyable::noncopyable' : cannot access private member declared in class 'boost::noncopyable_::noncopyable'
1>        c:\program files\boost\boost_1_38\boost\noncopyable.hpp(27) : see declaration of 'boost::noncopyable_::noncopyable::noncopyable'
1>        c:\program files\boost\boost_1_38\boost\noncopyable.hpp(22) : see declaration of 'boost::noncopyable_::noncopyable'
1>        This diagnostic occurred in the compiler generated function 'boost::asio::io_service::io_service(const boost::asio::io_service &)'

Oczywiscie kopiowanie jest zabronione.
I tego nie robie....
W jednej klasie robie:

 boost::thread th1(Pipe(n,.....));

klasa Pipe deklaruje

#ifndef _PIPE_MASTER
#define _PIPE_MASTER     
#include <iostream>
#include <vector>
#include <boost/thread.hpp>
#include <boost/asio.hpp>
#include <boost/array.hpp>
...
...

class Pipe{
..
..

    protected:
        boost::asio::io_service pvmIO;

I nic wiecej sie z tym nie dzieje......
Juz mi rece opadaja.

Pozostało 580 znaków

2009-05-20 16:00
0

Zrób:

class Pipe{
..
..

    protected:
                boost::asio::io_service& pvmIO;

I w konstruktorze też przekaż referencję.

Pozostało 580 znaków

2009-05-25 13:38
_bua
0

Dzieki za odpowiedz.

Jest jeszcze problem z konstruktorem domyslnym
trzeba w nim zainicjalizowac to boost::asio:io_stream& w liscie inicjalizacyjnej,
a rzutowanie 0 nie chce dzialac za bardzo.

Pozostało 580 znaków

2009-05-27 00:40
0

bo referencji zerem nie wypełnisz... daj wskaźnik.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0