引发了异常: 读取访问权限冲突。 **theEle** 是 0xFFFFFFFFFFFFFFFB。怎么办
时间: 2023-12-21 16:07:18 浏览: 80
根据提供的引用内容,你遇到了一个读取访问权限冲突的异常。异常的原因是在创建头结点时,你在`CreatListOfHead()`函数中重新定义了`g_pHead`变量,导致在`if (g_pHead == NULL)`判断中无法访问到外部定义的`g_pHead`变量。为了解决这个问题,你可以将`g_pHead`变量声明为全局变量或者将其作为参数传递给`CreatListOfHead()`函数。
以下是两种解决方案的示例代码:
1. 将`g_pHead`变量声明为全局变量:
```c++
Node* g_pHead = nullptr; // 在全局范围内声明g_pHead变量
// 创建头结点
void CreatListOfHead() {
g_pHead = (Node*)malloc(sizeof(Node));
if (g_pHead) {
g_pHead->next = NULL;
}
}
// 学生信息文件读取
if (g_pHead == NULL) {
CreatListOfHead();
}
```
2. 将`g_pHead`作为参数传递给`CreatListOfHead()`函数:
```c++
// 创建头结点
void CreatListOfHead(Node*& g_pHead) { // 将g_pHead作为引用参数传递
g_pHead = (Node*)malloc(sizeof(Node));
if (g_pHead) {
g_pHead->next = NULL;
}
}
// 学生信息文件读取
if (g_pHead == NULL) {
CreatListOfHead(g_pHead); // 将g_pHead作为参数传递给CreatListOfHead()函数
}
```
阅读全文