临时的错误警告参考

时间:2018-03-12 17:02:26

标签: c++ gcc gcc-warning

我已经定义了operator[](size_t),它会在编译时返回警告。

  

警告:返回对临时[-Wreturn-local-addr]的引用     T const& operator [](std :: size_t i)const {return(* m_dataRef)[i];}

请注意,我使用的是gcc 4.8.4。

我的代码如下所示:

template <class T>
class Property<std::vector<T> >
{
public:    
    Property(std::vector<T>* dataRef);
    ~Property() {}

    // Return a const ref to make sure no one can modify the data via this function. 
    T const & operator[](std::size_t i) const {return (*m_dataRef)[i];}

protected:    
    std::vector<T> * m_dataRef;
};

返回的引用不是暂时的,或者是?知道我能做些什么来解决这个问题吗?

0 个答案:

没有答案