嵌套模板列表错误

Nested template list error

本文关键字:错误 列表 嵌套      更新时间:2023-10-16

在标题中:

list< SKPair<VALUETYPE> > *values[256];

实施中:

const list< SKPair<VALUETYPE> > *bucket = values[0];
typename list< SKPair<VALUETYPE> >::iterator it = bucket.begin();

gcc编译器抱怨第二行:

error: request for member ‘begin’ in ‘bucket’, which is of non-class type ‘const std::list<SKPair<int>, std::allocator<SKPair<int> > >*’

(在main中,我创建了一个类的测试实例,其中VALUETYPEint。)知道我做错了什么吗?

写入:

typename list< SKPair<VALUETYPE> >::iterator it = bucket->begin();

这里需要->

bucket被声明为指针,因此您需要一个解引用运算符来访问其成员:

auto it = bucket->begin();

如果您有C++11的auto可用,就应该做到这一点。