我想为微控制器创建一个较小的矢量类。
在普通的矢量类中,您可以执行以下操作:
myvector[1] = 100;
如何在课堂上实现这样的作业?
我试过了:
template<typename T>
class Vector
{
private:
T* content;
public:
T* operator[](unsigned int);
};
template <typename T>
T* Vector::operator[](unsigned int i)
{
return &content[i];
}
但是,这会引发错误,而且也不是一个好的解决方案。
那我该怎么办?
答案 0 :(得分:2)
如果您在上面显示,则返回指向该值的指针,这可能是您遇到困难的原因。请考虑返回引用:
T& operator[](unsigned int);