说我有一些
typedef std::pair<userObject*,char> Bar;
std::multimap<int, Bar > Foo;
std::multimap<int, Bar >::iterator it = foo.begin();
我已经在地图中插入了一些成员,并希望使用迭代器迭代其内容。但是,尝试第二行代码会产生no viable conversion from....
我知道错误是由Bar
成对引起的。我用ints
编写了一个简单的类来模拟行为,一切都按预期工作。我需要提供一些模板类T吗?定义行为。
这是查看代码的源代码的a link。
错误讯息是
no viable conversion from '__map_iterator<__tree_iterator<__value_type<int *, [...]>, std::__1::__tree_node<std::__1::__value_type<int *, std::__1::pair<Vertex *, char> >, void *> *, [...]>>' to '__map_iterator<__tree_iterator<__value_type<int, [...]>, std::__1::__tree_node<std::__1::__value_type<int, std::__1::pair<Vertex *, char> >, void *> *, [...]>>'
答案 0 :(得分:1)
这不是因为它是一对。这是因为你没有调用函数foo.begin,而是试图让它直接访问它。
正确的代码是Images = new FS.Collection("images", {
stores: [
new FS.Store.FileSystem("thumbs", { path: "~/public/thumbs", transformWrite: createThumb }),
new FS.Store.FileSystem("images", { path: "~/public/images" })
],
filter: {
allow: {
contentTypes: ['image/*'] //allow only images in this FS.Collection
}
}
});