初始化指向对象的数组中的对象

时间:2013-07-02 20:46:50

标签: c++ arrays object

使用以下实现初始化这些自定义(非STL)List对象时遇到问题。 Graph类包含一个指向自定义List对象的指针数组。我很确定我在如何声明我的列表数组时出错了。

标题摘录:

class Graph
{
    private:
        List **lists;
        int listCount;
    public:
        .......
        .......
}

实施片段:

//node integer is used for size of array
void Graph::setLists(int node)
{
    listCount = node;
    lists = new List[listCount];

    //for is used to initialized each List element in array
    //The constructor parameter is for List int variable
    for(int i = 0; i < listCount; i++)
        lists[i] = new List(i);
}

我得到的错误:

Graph.cpp: In member function ‘void Graph::setLists(int)’:
Graph.cpp:11:28: error: cannot convert ‘List*’ to ‘List**’ in assignment

2 个答案:

答案 0 :(得分:4)

我看到的唯一问题是您尝试使用lists个对象而不是指向List个对象的数组来初始化List

变化

lists = new List[listCount];

lists = new List*[listCount];

答案 1 :(得分:0)

因为您正在创建一个List对象数组,而不是List指针数组。

lists = new List*[listCount];