使用以下实现初始化这些自定义(非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
答案 0 :(得分:4)
我看到的唯一问题是您尝试使用lists
个对象而不是指向List
个对象的数组来初始化List
。
变化
lists = new List[listCount];
到
lists = new List*[listCount];
答案 1 :(得分:0)
因为您正在创建一个List对象数组,而不是List指针数组。
lists = new List*[listCount];