有问题的练习是这样的:
我已经在标题中有这段代码:
#ifndef HEADER_H
#define HEADER_H7
//Tipo dato Nodo
struct Nodo
{
int dato;
Nodo* izq;
Nodo* der;
};
//Tipo dato Estructura
struct Estructura
{
Nodo* inicio;
Nodo* fin;
};
void inicializarEstructura(Estructura& est);
//{PRE: 'est.inicio' es nullptr y ‘est.fin’ es nullptr}
#endif // HEADER_H
这是我目前主要的代码:
//Tema 1. Ejercicios punteros.
#include <iostream>
#include <header.h>
using namespace std;
int main()
{
return 0;
}
void inicializarEstructura(Estructura& est)
{
//1º Aquí asigno memoria dinámica para cada nodo
Nodo* p = new Nodo;
Nodo* q = new Nodo;
Nodo* h = new Nodo;
//2º Asigno los punteros correspondientes
//2.1º Primero los punteros de la Estructura "est" a nodo
*est.inicio = *q->der;
*est.fin = *h->izq;
//2.2º Segundo los punteros de nodo a nodo
*q->der = *est.fin;
*p->izq = *est.inicio;
est.fin->izq = p->dato;
}
我收到此错误:
当我尝试将第三个节点的左变量(节点类型)指向第一个节点的变量数据(int 类型)时,它只会给我错误。
我该如何解决?
提前致谢。
PS:收到答案对我来说很重要,我需要正确理解指针的概念,我认为通过看到这个练习解决了我会更好地理解这个话题。
如果
dato
它是整数,则不能将其分配给指针。你要做什么,初始化列表,很简单
关于指针的问题在网站上有很多。您可以咨询他们,查看各种不同的示例。
尝试通过箭头 (->) 更改错误中出现的句点 (.)
箭头运算符
英文箭头页面
西班牙语中的指针运算符