小编ife*_*lse的帖子

错误C2027:使用未定义的类型-如何声明类

我遇到以下错误-当我只先提供类的定义,然后再声明时。我的理解是,只要我们这样做,就像我为函数定义所做的很多次一样,编译器就可以理解,但是似乎我的理解是有缺陷的,有人可以帮助我理解理解如何声明类的过程中缺少的部分。

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)

c++ syntax class forward-declaration

5
推荐指数
1
解决办法
9087
查看次数

标签 统计

c++ ×1

class ×1

forward-declaration ×1

syntax ×1