我有一个带有 Node 对象数组的 C++ 类adj
(我猜你不需要查看我的 Node 类的实现)
class Graph {
public:
Node *adj;
bool *marked;
int nVertex, p;
int *distance;
void graph(int quantity);
bool is_marked();
void cleaner();
void newVertex(int value);
};
我有这个方法,它创建一个节点nod
并尝试将它存储在 p-th 位置adj
:
void Graph::newVertex(int value)
{
Node *nod = new Node(value);
adj[p++] = nod;
}
当我尝试编译此代码时,我收到以下错误消息:
invalid conversion from 'Node*' to 'int'
我看不到我在代码中做错了什么。数组初始化对我来说和对象分配都是正确的。请帮我回答这个问题。
更新:Node
类的代码:
class Node {
public:
int value, cost;
Node *next;
Node() {}
Node(int val) {
value = val;
next = NULL;
cost = 0;
}
};
更新:我不能在这里使用 C++ 向量。我很乐意,但这是为了家庭作业。在任何人认为我在作弊之前,请注意,我不是要求解决我指定的特定问题,而是要求我在编译代码时遇到的问题。