切断がどのように見えるかによって異なります。このようなものはおそらくあなたが望むことをするでしょう(eDC_Kickedが何らかのクラスのステータスであると仮定します)
void Disconnect(Status _status, std::string _reason) {
// Do disconnect things
...
// Print message
std::cout << _reason << std::endl;
}
ただし、関数を送信する前に、文字列を作成する必要があります (たとえば、stringstream を使用)。
if (ping < 500)
{
float data = pNetChannel->GetPing(true);
std::ostringstream oss;
oss << data;
std::string ping(oss.str());
std::string reason = "High ping: " + ping;
pNetChannel->Disconnect(eDC_Kicked, reason);
}
または、意味がある場合は、この方法で切断を記述することもできます(そして、文字列 "High Ping: " と float 値の両方を別々に渡します)。
void Disconnect(Status _status, std::string _message, float _value) {
// Do disconnect things
...
// Print message
std::cout << _message << " " << _value << std::endl;
}
しかし、毎回正確に 1 つのメッセージと 1 つの変数を持たない場合などには、それは望ましくないかもしれません。また、必要に応じて、印刷にprintfを使用することもできます。