我似乎无法弄清楚为什么每次我对 Node 对象执行任何操作时我的程序都会崩溃。在这工作之前我无法取得任何进展......
我的问题是:每当我尝试在节点 X 上“设置数据”时,都会出现访问冲突错误。在此之前,我遇到了关于未初始化变量的运行时失败 #3。所以我将它初始化为null,我仍然得到一个错误。我以前的 Node 课程从来没有给我这个错误,所以我有点难过。任何帮助表示赞赏!
这是代码:
节点类:
#ifndef NODE
#define NODE
template <typename T>
class Node
{
public:
Node();
Node(T data);
void SetData(T data);
private:
T m_Data;
};
template <typename T>
Node<T>::Node()
{
}
template <typename T>
void Node<T>::SetData(T data)
{
m_Data = data;
}
#endif
主要的:
#include <iostream>
#include <crtdbg.h>
#include "Node.h"
#define _CRTDBG_MAP_ALLOC
int main()
{
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
Node<int> * x = nullptr;
x->SetData(20);
return 0;
}
奇怪的是,每当我执行“新建”来分配新节点时,都不会出现此问题.. 提前致谢。