[英]map/set iterators incompatible - checking if key exists in map
函數執行時,出現以下錯誤: 映射/設置迭代器不兼容 。 我做錯了什么?
bool isAuto(string table_name, string field_name, SCHEMA schema)
{
if (schema[table_name][field_name].find("max") == schema[table_name]["field_name"].end())
{
return false;
}
return schema[table_name][field_name]["auto"] == "true" && schema[table_name][field_name]["type"] == "int";
}
數據:
SCHEMA schema;
schema["przedmioty"]["id"]["type"] = "int";
schema["przedmioty"]["id"]["auto"] = "true";
schema["przedmioty"]["nazwa"]["type"] = "string";
schema["przedmioty"]["semestr"]["type"] = "int";
schema["przedmioty"]["semestr"]["max"] = "10";
schema["przedmioty"]["semestr"]["min"] = "1";
類型定義:
typedef map<string, map<string, map<string, string> > > SCHEMA;
schema[table_name][field_name].find("max") ==
schema[table_name]["field_name"].end()
您的第二個field_name
用引號引起來,因此它正在比較來自兩個不同映射的迭代器(除非field_name
的值為“ field_name”),這是無效的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.