0

I am implementing a vector, and for some reason, my header file keeps saying this error:

error C2590: 'CopyValues' : only a constructor can have a base/member initializer list see reference to class template instantiation 'Vector<T>' being compiled error C2533: 'Vector<T>' : constructors not allowed a return type error C2760: syntax error : expected '{' not ';' error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C2039: 'GetNewCapacity' : is not a member of 'Vector<T>' 

Here's my header:

template <class T> class Vector { public: typedef T* Iterator; Vector(HeapAllocator* allocator); Vector(HeapAllocator* allocator, size_t size); ~Vector(); size_t capacity(); size_t size(); bool empty(); void clear(); Iterator insert(Iterator position, const T& value); void insert(Iterator position,size_t n, const T& value); void insert(Iterator position,Iterator first, Iterator last); void erase(); void resize(size_t numElements); void push_back(const T& item); void pop_back(); private: void CopyValues(Iterator pBegin, Iterator pEnd, Iterator pTarget): // when I comment out this method, it compiles fine, why? size_t GetNewCapacity(size_t currentCapacity); T* mBegin; T* mEnd; T* mCapacity; HeapAllocator* mAllocator; }; 

Im staring blindly at the code, but I can't find any syntax error. What is causing this?

1
  • 4
    What is that : doing there? Commented Apr 15, 2012 at 18:32

1 Answer 1

7

Replace the : at the end of this line with ;

void CopyValues(Iterator pBegin, Iterator pEnd, Iterator pTarget): 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.