我正在尝试为模板类中的向量返回一个迭代器(我不确定这是否会有所不同,但我已经读过它,所以我想我会提到它)。问题是当我尝试这个时,我得到一个关于 C++ 不支持 default-int 的错误。我在网上看过,从我在论坛和解释中看到的,我不认为我离得那么远,它只是无法编译。
template<class T>
class Table
{
public:
...
vector<shared_ptr<vector<T>>>::iterator GetRowIterator();
//vector<shared_ptr<vector<CellValueType> > >::const_iterator GetRowIterator();
...
protected:
vector<shared_ptr<vector<CellValueType> > > data; //outside vector is rows, inside vector is columns
...
};
vector<shared_ptr<vector<T> > >::const_iterator Table<T>::GetRowIterator()
{
return data.begin();
}
我得到的错误是:
error C2146: syntax error : missing ';' before identifier 'GetRowIterator'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
编辑:
更改了末端尖括号,使它们不那么靠近 - 同样的错误。
关于为什么会发生这种情况的任何想法?
与往常一样,提前感谢您的建议/帮助!