这是我第一次尝试创建一个基本列表(我在学校需要这个),但我遇到了一个奇怪的错误。

这是脚本:

#include "stdafx.h"
#include<iostream>
#include<conio.h>

using namespace std;
using namespace System;
using namespace System::Threading;

struct nod
{
    int info;
    nod *leg;
};

int n, info;
nod *v;
void main()
{
    ....
    addToList(v, info); //I get the error here
    showList(v); //and here
}

void addToList(nod*& v, int info)
{
    nod *c = new nod;
    c->info=info;
    c->leg=v;
    v=c;
}

void showList(nod* v)
{
    nod *c = v;
    while(c)
    {
        cout<<c->info<<" ";
        c=c->leg;
    }
}

确切的错误是:
错误 C3861:“addToList”:未找到标识符

我不知道为什么我会得到这个……对不起,如果这是一个愚蠢的问题,但我对此很陌生。感谢您的理解。

最佳答案

您需要提前声明以在实现之前使用方法。把这个放在 main 之前:

void addToList(nod*& v, int info);

在 C/C++ 中,方法只能在声明后使用。为了允许不同方法之间的递归调用,您可以使用 forward declarations 以允许使用将向前实现的函数/方法。

关于c++ - 我收到 'identifier not found' 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7521494/

10-11 02:30