0
私はベクトルを実装していて、何らかの理由で、私のヘッダファイルは、このエラーを言って続けて:C++ - コンパイルエラー
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>'
は、ここに私のヘッダーです:コードで盲目的に見つめ
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;
};
イムしかし、私は構文エラーを見つけることができません。これを引き起こしているのは何ですか?
そこには何がありますか? – Mat
';'(明らかに) –