我定义
newPostsAsyncTask = new NewPostsAsyncTask(MainActivity.this, listView);
newPostsAsyncTask.execute();
然后我尝试以这种方式插入一对:
typedef std::map< int, std::set<int> > SparseMap;
pair<SparseMap::iterator,bool> result;
result = sparseBlue.insert(SparseMap::value_type(row, set(col)) ); //errors
if(result.second)
cout << "Inserted" << endl;
为什么我会在我插入的行中得到这些错误?
答案 0 :(得分:2)
我相信@ T.C和@Lightness Races in Orbit有正确的想法,需要<script>
function ClearAll()
{
$(".k-treeview .k-checkbox input").prop("checked", false).trigger("change");
}
</script>
。唯一的问题是std::set<int>
没有一个构造函数,它接受一个类型为T的单项(在本例中为int)。
假设您确实需要一个集合作为地图中的值,那么您可能需要以下内容:
std::set<T>
答案 1 :(得分:1)
另一个解决方案是您可以在添加项目之前插入地图:
#include <map>
#include <set>
using namespace std;
int main()
{
int row = 0;
int col = 0;
std::map<int, set<int>> sparseBlue;
// insert empty item
auto iter = sparseBlue.insert(std::make_pair(row, std::set<int>()));
// did a new item get inserted?
cout << "The item did " << (iter.second?"":"not") << " get inserted\n";
// add item to set
(*iter.first). // the map iterator
second. // the set
insert(col); // what we want to do
}
std::map::insert的返回值返回std::pair
,表示插入项的迭代器,true
或false
,具体取决于是否插入了新项目。< / p>