我想将变量初始化为nodes[_node]
的值,但是它给出了错误。
我尝试了start = &nodes[_node];
,它没有给出任何错误,但是我不想初始化我想初始化值的地址。
#include <iostream>
using namespace std;
struct graph
{
int data;
struct graph *next;
};
struct graph *nodes = new graph[5];
void connectnode(int _data,int _node)
{
struct graph *start = nodes[_node];
struct graph *temp = new graph;
temp ->data = _data;
temp ->next = nullptr;
if(start == nullptr)
start->next = temp;
else
{
while(start != nullptr)
start = start->next;
start->next = temp;
}
}
错误是:
Compile time error - cannot convert 'graph' to 'graph*' in initialization
答案 0 :(得分:0)
通过nodes[_node];
,您将获得数组graph
的元素,因此,您将获得graph
类型。但是,您正在将此元素分配给类型为struct graph *start
的指针。
因此该行应为:
struct graph *start = &nodes[_node];
我不明白您为什么不想这样做,但如果是这样,您可以尝试:
struct graph start = nodes[_node];