c++智能指针不能这样用的吗?

img

img


为什么这种写法不报错,

img


但是这种写法报错?
智能指针不能这样用的吗?

第一种是普通变量指针赋值没问题,但是第二种智能指针是一个类,类和类之前的等号运算符没有重载,实现不了赋值的功能。prev->data = head->data这种赋值就可以

不能 你需要typedef才能这样用
typedef struct Node {
struct Node * next;
}Node;