htmlcxx编译错误

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

有人有想法吗?

acr*_*ron 5

我刚刚看了一眼来源.你想要的功能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)