Показать сообщение отдельно
Старый 25.08.2011, 00:15   #5
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Укозатель на метод класса

кусок файла net.cpp
int net::thread(void *data)
{
    
int timeout = *((int*)data);
    
ENetEvent event;
    while(
enet_host_service(client, &eventtimeout))
    {
        if(
event.type == ENET_EVENT_TYPE_RECEIVE)
        {
            
int size;
            
bytes2int(&(event.packet->data[0]), size);
            for(
int i 0sizei++)
            {
                
pair intint p;
                
bytes2int(&(event.packet->data[sizeof(int)*(i*2+1)]), p.first);
                
bytes2int(&(event.packet->data[sizeof(int)*(i*2+2)]), p.second);
                
SDL_mutexP(lock);
                
v.push_back(p);
                
SDL_mutexV(lock);
            } 
        }
        
enet_packet_destroy(event.packet);
    }
    return 
0;
}

int net::connect(string hostint portint timeout)
{
    
enet_address_set_host(&addresshost.c_str());
    
address.port port;
    
peer enet_host_connect(client, &address2);

    
ENetEvent event;
    if(
enet_host_service(client, &eventtimeout) > && event.type == ENET_EVENT_TYPE_CONNECT)
    {
        
cout << "Connection succeeded" << endl;
    }
    else
    {
        
enet_peer_reset(peer);
        
cerr << "Connection to " << host << ":" << port << " failed" << endl;
        return 
1;
    }
    
SDL_CreateThread(&net::thread, &timeout);
    return 
0;

ps: ошибок больше нет, только эта.
(Offline)
 
Ответить с цитированием