我创建了一个很好的类'checkedVector'。但是,一旦使用了我需要用于其他功能的RcppArmadillo,我的checkedVector将不再起作用。函数size()不再定义。尝试了几个名称空间选项,但找不到解决方案。
#include <RcppArmadillo.h>
#include <vector>
#include <cassert>
namespace br_stl
{
template <class T>
class checkedVector : public std::vector<T>
{
public:
checkedVector()
{ }
checkedVector(size_t n, const T& value = T())
: std::vector<T>(n,value)
{ }
checkedVector(T* i, T* j)
: std::vector<T>(i,j)
{ }
T& operator [] (ptrdiff_t index)
{
assert (index >= 0 && index < static_cast <ptrdiff_t> (size()));
return std::vector<T>::operator[](index);
}
};