«предполагающих HXT_V_FT04» является ключом, значение будет структура ModelVariables. Вы можете получить доступ к этой структуре либо с квадратными скобками, что создаст значение, если оно не существует, или используйте .at(). Например
if(ModelMap.contains("HXT_V_FT04"))
{
ModelVariables mystruct = ModelMap.at("HXT_V_FT04");
float hxt_val_ft04 = mystruct.value;
}
Это то же самое, как
if(ModelMap.contains("HXT_V_FT04"))
float hxt_val_ft04 =ModelMap.at("HXT_V_FT04").value;
В качестве альтернативы:
// create mystruct if it doesn't exist
ModelVariables mystruct = ModelMap.at["HXT_V_FT04"];
float hxt_val_ft04 = mystruct.value;
Edit: Основываясь на typenames и т.д. Вы предоставили, я думаю, что нужно что-то, что выглядит например:
// declare the map
Map<QString,ModelVariables> ModelMap;
ModelVariables MVar;
QString key = "HXT_V_FT04";
// assign to Mvar.value
MVar.value = 10.0;
// insert into the map
ModelMap.insert(key, MVar);
// do something
// read back the value in MVar
float val = ModelMap.at(key).value;
//or
float val = ModelMap[key].value;
//or
float val = ModelMap["HXT_V_FT04"].value;
// or
ModelVariables mystruct = ModelMap["HXT_V_FT04"];
float val = mystruct.value;
Пожалуйста, предоставьте код, потому что он выглядит очень подозрительно. –