我遇到以下错误-当我只先提供类的定义,然后再声明时。我的理解是,只要我们这样做,就像我为函数定义所做的很多次一样,编译器就可以理解,但是似乎我的理解是有缺陷的,有人可以帮助我理解理解如何声明类的过程中缺少的部分。
error C2027: use of undefined type 'generic_iterator'
note: see declaration of 'generic_iterator
Run Code Online (Sandbox Code Playgroud)
不起作用 -上面显示的错误
#include <iostream>
class generic_iterator;
class darray
{
public:
typedef generic_iterator iterator;
darray();
darray(int size);
~darray();
int& at(int index);
int& operator [](int i);
int* data(void);
bool empty();
void fill(int val);
void print();
size_t max_size();
iterator begin() {return iterator(ptrarray); }
iterator end() { return iterator(ptrarray + size); }
private:
int *ptrarray;
int num_elements;
int size;
};
class generic_iterator
{
public:
generic_iterator(int *ptr);
~generic_iterator();
generic_iterator& operator++(); // pre-increment …Run Code Online (Sandbox Code Playgroud)