Rob*_*oby 3 c++ compiler-errors
我尝试使用htmlcxx来解析网页.问题是,这个例子不是可编译的atm.
tree<HTML::Node>::iterator it = dom.begin();
tree<HTML::Node>::iterator end = dom.end();
for (; it != end; ++it)
{
if (it->tagName() == "A")
{
it->parseAttributes();
std::cout << it->attributes("href");
std::cout<< std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是 it->attributes("href");
其余的工作正常.但有了这条线,我明白了
错误:没有匹配的函数用于调用
'htmlcxx::HTML::Node::attributes(const char [5])'/usr/local/include/htmlcxx/html/Node.h:51:注意:候选人是:
const std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >& htmlcxx::HTML::Node::attributes() const
有人有想法吗?
我刚刚看了一眼来源.你想要的功能attribute不是attributes:
// attribute takes a string
std::pair<bool, std::string> attribute(const std::string &attr) const { ... }
// attributes takes nothing
const std::map<std::string, std::string>& attributes() const { return this->mAttributes; }
Run Code Online (Sandbox Code Playgroud)