c++ - was not declared in this scope 错误

标签 c++ c eclipse visual-studio-2010

我正在处理这段代码,我尝试从链接列表中删除项目,但我不明白那个错误是什么。错误是未在此范围内声明 delnode。我构建了 eclipse 和 visual studio,但错误仍然存​​在。

char name[10];

void delnode(char name[], NODEPTR  *head)
{
    NODEPTR save, prev;
    prev=*head;
    save=prev->n;
    while (save!=*head && strcmp(name ,save->info)>0)
    {
        prev = save;
        save = save->n;
    }
    if (save==*head || strcmp(name,save->info)<0) printf("%s Not found",name);
    else
    {
        if (prev->n==*head) *head=prev;
        prev->n = save->n;
        free(save);
    }
}

int main()
{
    printf("Write a name to delete it");
    scanf("%s",&name);
    delnode(name, head); //Error delnode was not declared in this scope
}

加法; 伙计们,感谢您的帮助,现在它给出了这个错误;

这条线有多个标记

- Invalid arguments ' Candidates are: void delnode(char *, node * *) '

- cannot convert ‘NODEPTR {aka node*}’ to ‘node**’ for argument ‘2’ to ‘void delnode(char*, 

 node**)’
- Line breakpoint: lab.cpp [line: 87]

第 87 行

最佳答案

使用前需要提供delnode的声明:

void delnode(char name[], NODEPTR  *head); // declaration

char name[10];

int main()
{
  // as before
}

void delnode(char name[], NODEPTR  *head)
{
  // as before
}

修复之后,你还需要在 main 中修复这一行:

delnode(name, head);

此时,head 还没有声明。

关于c++ - was not declared in this scope 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910394/

相关文章:

c++ - 未定义对 `__gxx_personality_sj0` 的引用

c++ - std::stringstream 的小数点?

c - 传递第一个索引为空的非空字符串数组

c - 返回 Void 指针截断值

android - New Relic 无法使用 eclipse 正确加载(Android)

c++ - 删除 vector 中的重复整数 C++

c++ - 不允许嵌套类的前向声明的原因?

c# - bluemix vm openstack 使用c++语言

java - 应该很简单,如何让 jbutton 显示我已经通过 eclipse 中的窗口生成器创建的 jframe?

java - eclipse maven 循环占位符引用错误使用配置文件