0
plz帮助我这个错误和...(Visual Studio 2010中)错误C3892:“的std :: _ Tree_unchecked_const_iterator
void file_remove(u32 id, int action) {
file f;
f.id = id;
**file_set::iterator i = fs.find(f);**
if(i == fs.end()) return;
// move cursor away
if(conf.expose.cursor == id) cursor_down();
if(conf.expose.cursor == id) cursor_up();
if(conf.expose.cursor == id) conf.expose.cursor = 0;
if(action != 1 && i->size >= conf.files.incomp_min_size &&
(u64)segment_summ(i->seg) * 100/i->size >= conf.files.incomp_percent)
{ action = 2; }
char n1[0x100];
char n2[0x100];
if(!i->deleted){
cache_close(i->h);
snprintf(n1, sizeof(n1), "%s/%s", conf.fnames.dir_temp, i->name.c_str());
if(action == 0)
{ // just close
}
else if(action == 1)
{
snprintf(n2, sizeof(n2), "%s/%s", conf.fnames.dir_ok, i->name.c_str()); seg(*i, conf.fnames.dir_temp, false);
cache_move(n1, n2);
}
else if(action == 2)
{
snprintf(n2, sizeof(n2), "%s/%s", conf.fnames.dir_incomplete, i->name.c_str());
seg(*i, conf.fnames.dir_incomplete, true, true);
seg(*i, conf.fnames.dir_temp, false);
cache_move(n1, n2);
}
else if(action == -1)
{
seg(*i, conf.fnames.dir_temp, false);
cache_move(n1, ""); // unlink
}
} else {
ffs_remove(i->size, i->tag);
fs.erase(i);
sort_files();
return;
}
if(!i->tmp){
ffs_remove(i->size, i->tag);
fs.erase(i);
} else {
**i->deleted = true;**
}
sort_files();
}
与此元素编译和错误:I->删除= TRUE; +查看此结果
1> main.cpp中(478):错误C3892: '的std :: _ Tree_unchecked_const_iterator < _Mytree,_base> ::操作员 - >': 你不能分配给一个变量是常量1> 1>
[1>
_Mytree =标准:: _ Tree_val,性病::分配器,假>>, 1> _base =标准:: _ Iterator_base 1>]
http://up.vbiran.ir/images/w21nnbxc7tf5okzk0lr.png
http://up.vbiran.ir/images/x0coajrixr764g49ibeh.png
plz帮助我解决这个错误
你好,你的发布是完全不可读的。请编辑您的问题,删除整个区块,然后简单地粘贴您的代码,突出显示它,然后单击“{}”按钮。 – Mat 2012-07-21 10:23:51
获得帮助的最佳方式是发布一个我们可以复制/粘贴/编译以重现错误的最小工作示例。请参阅http://sscce.org – 2012-07-21 10:39:50