【发布时间】:2020-03-15 19:29:19
【问题描述】:
这是我的代码:
template <typename T>
struct Node
{
T info;
Node<T>* next;
};
template<typename T>
struct List
{
Node<T>* n;
int curr;
};
List<T> listCreate()
{
List<T> lst;
lst.curr = 0;
cout << lst.n->info;
lst.n->info = 0;
lst.n->next = NULL;
return lst;
}
如果我删除 cout << lst.n->info; 会导致分段错误。我想要实现的是简单地创建一个 List 并具有下一个值:
lst:
- curr = 0
- n:
- 信息 = 0
- 下一个 = NULL
但我找不到实现此目的的方法,我尝试在谷歌上搜索并阅读有关指针和结构的信息,但我找不到问题所在。这可能是一个简单的问题,但我找不到。
提前致谢。
【问题讨论】:
-
你在哪里初始化
lst.n? -
lst.n为空或未初始化,其值是随机的。 -
那是真的我忘了初始化lst.n,我太笨了。谢谢!毕竟这是一个简单的错误哈哈哈。