クラスを適切に前方宣言するにはどうすればよいですか?
//client_functions.cpp
using namespace libtorrent;
session Sess;
bool Start_Client_Sess( )
{
Sess.add_extension ( create_ut_pex_plugin );
Sess.add_extension ( create_ut_metadata_plugin );
Sess.add_extension ( create_lt_trackers_plugin );
Sess.add_extension ( create_smart_ban_plugin );
Sess.start_upnp( );
Sess.start_natpmp( );
Sess.start_dht( );
Sess.start_lsd( );
error_code e;
Sess.listen_on ( std::make_pair ( 6881 , 6889 ) , e );
if ( e )
{
#ifdef DEBUG_CONSOLE
std::cout << "Start Client failed\n";
#endif
return false;
}
return true;
}
私が抱えている問題は、コードが1つしかないSess
方法であり、それが、各クライアント関数で宣言されているかのようにする必要がある方法ですsession Sess;
新しいセッションが作成されますがsession Sess;
、関数の外側で宣言されているため、アプリケーションは適切に閉じませんSess
には独自のスレッドがあり、アプリケーションへの 2 番目の呼び出しからコマンド ライン引数を取得すると、2 番目のインスタンスがハングします。
session Sess;
私はそこにいる必要があると思いますが、そこに置くと、未定義であると不平を言う場所で_tWinMain
エラーが発生します。client_functions.cpp
Sess