C++ 指针变量赋值
我已经创建了一个结构:C++ 指针变量赋值,c++,pointers,linked-list,C++,Pointers,Linked List,我已经创建了一个结构: struct time { int hours; int minutes; int seconds; double total_time; double price; time* next; time* back; }; 我创建了两个指向结构的指针: time* traverse, head; 我想将头部的位置指向与头部相同的位置: traverse = new time; head = travers
struct time
{
int hours;
int minutes;
int seconds;
double total_time;
double price;
time* next;
time* back;
};
我创建了两个指向结构的指针:
time* traverse, head;
我想将头部的位置指向与头部相同的位置:
traverse = new time;
head = traverse; // Error here
为什么我在作业中遇到错误?因为您没有将head声明为指针:
time* traverse, *head; //both are pointers
不一样
time* traverse, head; //one is a pointer, one is an object
指针的声明是错误的
time* traverse, head;
它只声明一个指针和一个对象
您应将其声明为:
time* traverse;
time* head;
写作时
time* traverse, head;
星号只影响第一个变量。将您的声明更改为
time *traverse, *head;
错误应该消失了