为什么这句话在C++中有效?
qi::rule<Iterator, std::string(), skipper<Iterator> > name;
摘自这里:
规则的定义(恢复)如下:
template <typename Iterator, typename T1, typename T2,
typename T3, typename T4>
struct rule : boost::proto::extends<bla, bla>, parser<bla, bla>
{
bla, bla
};
摘自这里:
规则定义需要一个类型,但我向它发送了一个对象。有可能吗?
最佳答案
在此上下文中,std::string()
表示返回 std::string
且没有参数的类型。例如,
std::string foo() { return "Foo!\n"; }
或实例
struct Foo
{
std::string operator()() const { return "Foo!\n"; }
};
关于c++ - 参数规范中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13472591/