2012-09-03 48 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