0
for (torrent_info::file_iterator i = t.begin_files();
i != t.end_files(); ++i, ++index)
{
int first = t.map_file(index, 0, 1).piece;
int last = t.map_file(index, i->size - 1, 1).piece;
std::cout << " " << std::setw(11) << i->size
<< " " << i.filename() << "[ " << first << ", "
<< last << " ]\n";
}
编译给了我以下错误:为什么这段C++没有找到struct成员'filename'?
error: ‘class __gnu_cxx::__normal_iterator<const libtorrent::internal_file_entry*, std::vector<libtorrent::internal_file_entry, std::allocator<libtorrent::internal_file_entry> > >’ has no member named ‘filename’
AFAICS i
是一个常数internal_file_entry
结构,其头部代码开源libtorrent项目生活here。我只是在看C++的第一次,但我不能为 的生活我的工作了,为什么到i.filename()
以上调用在编译时失败?
提领迭代器:'I-> filename'。 – us2012 2013-03-25 00:03:33
'i'是'torrent_info :: file_iterator'而不是'internal_file_entry',它在你的代码中说得很对,并且错误信息也告诉你它是一个迭代器。 – 2013-03-25 00:15:11