Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: colcrt en 1 Febrero 2018, 15:38 pm



Título: error C2660: 'libtorrent::session_handle::listen_on' : la función no acepta 1 ar
Publicado por: colcrt en 1 Febrero 2018, 15:38 pm
hola  ;)
estoy actualizando un programa en visual studio 2013 y tengo unos errores que no he podido arreglar  :-\

Código:
error C2660: 'libtorrent::session_handle::listen_on' : la función no acepta 1 argumentos

uso libtorrent 1.1.6
boost 1-66-0

este es el código el error esta en la linea -> if (m_pcSession->listen_on(portRange) == false)


Código:
bool EL_TorrentPatcher::Begin(EL_PatchConfig& stConfig, Earth::EA_CStatus *pcStatus)
{
MA_SAFE_DELETE(m_pcSession);
m_pcSession = new session(fingerprint("LT",LIBTORRENT_VERSION_MAJOR,LIBTORRENT_VERSION_MINOR,0,0),session::add_default_plugins);

m_pcSession->set_alert_mask(alert::error_notification | alert::storage_notification);

libtorrent::session_settings settings;
settings.user_agent = APP_NAME;
settings.prioritize_partial_pieces = true;
settings.min_announce_interval = 30;
m_pcSession->set_settings(settings);

m_pcSession->add_extension(&libtorrent::create_smart_ban_plugin);

m_pcSession->set_max_half_open_connections(stConfig.maxHalfOpenConnections);
m_pcSession->set_max_uploads(stConfig.maxUploadsPerSession);
m_pcSession->set_max_connections(stConfig.maxConnectionsPerSession);

std::pair<int, int> portRange(stConfig.minPort, stConfig.maxPort);
if (m_pcSession->listen_on(portRange) == false)//void listen_on(std::pair<int, int> const& port_range, error_code& ec, const char* net_interface = 0, int flags = 0);
{
if( pcStatus )
pcStatus->AddNRf( Earth::EA_STATUS_ERROR, EL_LTEXT("TORRENT_SESSION_LISTEN_ERROR"), portRange.first, portRange.second );
return false;
}

// ¾Æ·¡ ±â´ÉµéÀº listen_on ÀÌÈÄ¿¡ Çϵµ·Ï ±ÇÀåÇÏ°í ÀÖÀ½
m_pcSession->start_upnp();
m_pcSession->start_natpmp();
m_pcSession->start_dht();
m_pcSession->start_lsd();

return true;
}

nota1: al pasar el puntero encima de  m_pcSession->listen_on "dice error la expresión debe tener un tipo aritmético, enum sin ámbito o de puntero"