在C ++中,如何在另一个嵌套类中使用嵌套类类型(两个嵌套类在同一外部类下)

钱德勒·宾

我有一个List包含两个嵌套类的类:ListItemListIteratorListIterator课堂上我有类型的属性ListItem在头文件“ List.h”中,我将定义ListItem为类的私有属性,ListIterator并且可以完美地进行编译。但是,在“ List.cpp”文件中,当我尝试定义其构造函数时,ListIterator出现以下错误:

List.cpp: In constructor ‘List::ListIterator::ListIterator(bool)’:
List.cpp:24:46: error: no matching function for call to ‘List::ListItem::ListItem()’
List::ListIterator::ListIterator(bool reverse){
                                             ^
List.cpp:24:46: note: candidates are:
List.cpp:7:1: note: List::ListItem::ListItem(void*)
List::ListItem::ListItem(void* data){
^
List.cpp:7:1: note:   candidate expects 1 argument, 0 provided
In file included from List.cpp:1:0:
List.h:2:8: note: List::ListItem::ListItem(const List::ListItem&)
class ListItem {
      ^
List.h:2:8: note:   candidate expects 1 argument, 0 provided

这是我的List.h文件:

class List{
class ListItem {
    public:
        ListItem(void*);
        void* getData();
        ListItem* getNext();
        ListItem* getPrev();
    private:
        void* data;
        ListItem* next;
        ListItem* prev;
};

class ListIterator {
    public:
        ListIterator(bool);
        bool hasNext();
        void* next();
    private:
        bool reverse;
        ListItem current;
};
public:

    List();
    ~List();
    long getSize();
    int addData(void*);
    void* remove(long);
    long indexOf(void*);
    ListIterator* cellAt(long);
    ListIterator& iterator(bool);
private:
    long size;
    ListItem head;
    ListItem tail;
};

这是我的List.cpp文件:

#include "List.h"
#include <iostream>

using namespace std;

/* ListItem */
List::ListItem::ListItem(void* data){
    this->data = data;
}

void* List::ListItem::getData(){
    return this->data;
}

List::ListItem* List::ListItem::getNext(){
    return this->next;
}

List::ListItem* List::ListItem::getPrev(){
    return this->prev;
}

/* ListIterator */
List::ListIterator::ListIterator(bool reverse){
    this->reverse = reverse;
}

bool List::ListIterator::hasNext(){
    return false;
}

void* List::ListIterator::next(){
    return NULL;
}
让·巴蒂斯特·尤涅斯(Jean-BaptisteYunès)

您的问题不是关于类嵌套,而是关于成员初始化。

构建a时,ListIterator您还要构建其成员,因此a ListItem,则需要为其指定ctor调用,因为它具有一个用户定义的:

List::ListIterator::ListIterator(bool b) : current(something) {
    ...
}

这是表达current初始化方式的方式

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中的另一个模板函数中使用属于模板化类的嵌套类型?

来自分类Dev

如何在另一个类中使用扩展功能?C#

来自分类Dev

C#:如何在另一个类中使用可索引属性?

来自分类Dev

在C ++中的另一个类中使用模板类

来自分类Dev

如何在C#中的另一个方法中调用同一类中的方法?

来自分类Dev

C#两个嵌套的if语句,另一个

来自分类Dev

C#两个嵌套的if语句,另一个

来自分类Dev

如何独立于 C++ 中声明的位置在另一个类函数中使用类?

来自分类Dev

C ++在另一个标识符下的标题中使用包含的类

来自分类Dev

如何在C ++中将指向一个类的指针复制到另一个类中?

来自分类Dev

如何在另一个类 C# Windows Forms 中引用一个类

来自分类Dev

C#如何在一个函数中创建类的实例,然后在另一个函数中使用相同的实例

来自分类Dev

从Java到C ++:如何在另一个自定义类中使用一个自定义类var?

来自分类Dev

从Java到C ++:如何在另一个自定义类中使用一个自定义类var?

来自分类Dev

C#-如何在两个不同的dll中引用同一类型?

来自分类Dev

在 C++ 中的另一个 .h 文件中使用类中的方法

来自分类Dev

从外部类继承的C ++嵌套类;类型不完整

来自分类Dev

在C ++中使用另一个头文件中的抽象类

来自分类Dev

C ++-如何在另一个类中使用私有构造函数实例化对象

来自分类Dev

如何在 C# 中使用来自另一个类的初始化实例对象?

来自分类Dev

在一个类中使用一个函数来更改另一个类中的变量的值C ++

来自分类Dev

在另一个类中使用SoftwareSerial类的Arduino / C ++

来自分类Dev

如何在c#Unity中从另一个脚本扩展类

来自分类Dev

QT C ++-如何在另一个类中引用窗口小部件

来自分类Dev

同一类的另一个构造函数中的c ++调用构造函数

来自分类Dev

目标 C:如何访问 AppDelegate 中另一个类中声明的类?

来自分类Dev

如何在C#中访问另一个类中某个类的私有函数?

来自分类Dev

如何将一个类访问另一个C#类

来自分类Dev

如何在C#中从另一个私有类调用私有类变量

Related 相关文章

  1. 1

    如何在C ++中的另一个模板函数中使用属于模板化类的嵌套类型?

  2. 2

    如何在另一个类中使用扩展功能?C#

  3. 3

    C#:如何在另一个类中使用可索引属性?

  4. 4

    在C ++中的另一个类中使用模板类

  5. 5

    如何在C#中的另一个方法中调用同一类中的方法?

  6. 6

    C#两个嵌套的if语句,另一个

  7. 7

    C#两个嵌套的if语句,另一个

  8. 8

    如何独立于 C++ 中声明的位置在另一个类函数中使用类?

  9. 9

    C ++在另一个标识符下的标题中使用包含的类

  10. 10

    如何在C ++中将指向一个类的指针复制到另一个类中?

  11. 11

    如何在另一个类 C# Windows Forms 中引用一个类

  12. 12

    C#如何在一个函数中创建类的实例,然后在另一个函数中使用相同的实例

  13. 13

    从Java到C ++:如何在另一个自定义类中使用一个自定义类var?

  14. 14

    从Java到C ++:如何在另一个自定义类中使用一个自定义类var?

  15. 15

    C#-如何在两个不同的dll中引用同一类型?

  16. 16

    在 C++ 中的另一个 .h 文件中使用类中的方法

  17. 17

    从外部类继承的C ++嵌套类;类型不完整

  18. 18

    在C ++中使用另一个头文件中的抽象类

  19. 19

    C ++-如何在另一个类中使用私有构造函数实例化对象

  20. 20

    如何在 C# 中使用来自另一个类的初始化实例对象?

  21. 21

    在一个类中使用一个函数来更改另一个类中的变量的值C ++

  22. 22

    在另一个类中使用SoftwareSerial类的Arduino / C ++

  23. 23

    如何在c#Unity中从另一个脚本扩展类

  24. 24

    QT C ++-如何在另一个类中引用窗口小部件

  25. 25

    同一类的另一个构造函数中的c ++调用构造函数

  26. 26

    目标 C:如何访问 AppDelegate 中另一个类中声明的类?

  27. 27

    如何在C#中访问另一个类中某个类的私有函数?

  28. 28

    如何将一个类访问另一个C#类

  29. 29

    如何在C#中从另一个私有类调用私有类变量

热门标签

归档