从成员函数返回boost iterator_range

时间:2019-02-01 20:19:00

标签: c++ boost iterator iterator-range

我试图创建一个成员函数,该函数返回如下所示的数组范围:

df['dateTransaction'] = pd.to_datetime(df['dateTransaction'])
df.info()

但是它给出了以下错误:


df = df.set_index('dateTransaction')

这里可能是什么问题?预先感谢您的帮助?

2 个答案:

答案 0 :(得分:2)

constness 是问题。

您的range方法是const

&container[0]方法内的const是什么类型?是const double*。与

不匹配
boost::make_iterator_range< double* >
                            ^^^^^^^^

因此,将range成员函数定义为非常量或使用boost::make_iterator_range< const double*>

答案 1 :(得分:0)

当我如下更改时,它起作用了:

boost::iterator_range<const double*> range() const{ 
    return boost::make_iterator_range(&container[0], &container[m_size]);
}