初始化lambda函数
QMap<QString, std::function<bool(QString&,QString&)>> function;
void InitFunctions()
{
function["function1"] = [&](QString& strClientIp, QString& strInfo)->bool {
if (strClientIp==strInfo)
return false;
return true;
};
function["function2"] = [&](QString& strClientIp, QString& strInfo)->bool {
SendData(strClientIp, strInfo.toLocal8Bit());
return true;
};
}
调用
QString strJson = QJsonDocument(objinfo).toJson(QJsonDocument::Compact);
strfunction = doc.object().value("function").toString();
if (function.contains(strfunction ))
{
function[strfunction ]((QString&)strClientIP, strJson);
}