这是C++中的简单的图形算法如何解决'std :: list <int> *'赋值为'std :: list <int> [0]'的不兼容类型?
#include <iostream>
#include <string>
#include <list>
#include <vector>
using namespace std;
class Graph {
public:
Graph(int v = 1):
vertexs(v), edges(0) {
adj = new list<int>[vertexs];
}
void test_put() {
int iter_cnt = 0;
for (int i = 0; i < vertexs; i++) {
for (int j = 0; j < 3; j++) {
adj[i].push_back(iter_cnt++);
}
}
}
void test_print() {
list<int>:: iterator iter;
for (int i = 0; i < vertexs; i++) {
for (iter = adj[i].begin(); iter != adj[i].end(); iter++) {
cout << *iter << "->";
}
cout << "###" << endl;
}
}
private:
int vertexs;
int edges;
list<int> adj[];
};
int main() {
Graph g(10);
g.test_put();
g.test_print();
}
有一个错误
[email protected]:~/tmp$ g++ wgraph.cpp -o wg
wgraph.cpp: In constructor ‘Graph::Graph(int)’:
wgraph.cpp:12:44: error: incompatible types in assignment of ‘std::list<int>*’ to ‘std::list<int> [0]’
我是一个Java程序员,我不知道如何做出正确的构造函数在C++中。