2012-09-03 51 views
0

在标题:嵌套模板列表错误

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。)任何想法我做错了什么?

+0

你可以发布导致错误的行吗? – Anthony

+0

@ anthony-arnold'typename list > :: iterator it = bucket.begin();' – SK9

回答

3

写:

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

这里需要的->

+0

是的,'(* bucket).begin()'也可以。 – SK9

1

bucket被声明为指针,所以你需要一个对其操作来访问它的成员:

auto it = bucket->begin(); 

应该做的伎俩,如果你有C++ 11的可用auto