gpt4 book ai didi

c++ - 为什么在定义之后还有 "Identifier is undefined error "?

转载 作者:搜寻专家 更新时间:2023-10-31 01:28:21 25 4
gpt4 key购买 nike

我已经创建了一个头文件 ll.h,其中包含 2 个类。代码是这样的:

#pragma once
#include<iostream>
#include<conio.h>
using namespace std;

class N{
public:
int data;
N *next;
public:
N(int);
~N();
};

class ll{
public:
N *head;
public:
ll();
~ll();
void aFr(N*);
void aEn(N*);
};

N::N (int d){
data = d;
next = NULL;
}

N::~N{}

ll::ll(){
head = NULL;
}

ll::~ll(){}

void aFr(N* n){
n->next = head; //identifier "head" undefined
head = n;
}

void aEn(N* n){
if (head == NULL)// identifier "head" undefined
{
head = n;
n->next = NULL;
}
}

尽管这两个函数中的 head 似乎不应该调用任何错误。

我还是个初学者,如果有什么小问题请原谅。

我知道这应该不是问题,但我为类和声明本身使用了不同的窗口。

我正在使用 Visual Studio 2010 运行代码。

最佳答案

1) 这里:

N::~N{}

你忘了the parentheses析构函数 ~N():

N::~N(){};

2) 这里:

void aFr(N* n){

这里:

void aEn(N* n){

你忘了 use scope resolution operator将函数表示为 class ll

的方法
void ll::aFr(N* n){
n->next = head; //identifier "head" undefined
head = n;
}

void ll::aEn(N* n){
if (head == NULL)// identifier "head" undefined
{
head = n;
n->next = NULL;
}
}

经过这些更改后编译正常。

关于c++ - 为什么在定义之后还有 "Identifier is undefined error "?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52381544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com