首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Error C2664,需要澄清

Error C2664,需要澄清
EN

Stack Overflow用户
提问于 2013-04-27 20:37:58
回答 2查看 462关注 0票数 0

我在我的程序中使用这个函数,并通过receive(&head);调用它。我做了一些错误的事情,得到了一个错误:当调用QUEUEget(&head)时,无法将参数1从"link **“转换为"link * *”。如果我理解正确的话,(*head)是一个指向另一个链接的链接,所以我应该做一些类似(&(&head))的操作,但它不起作用。

代码语言:javascript
复制
   void receive(link *head){
        int j;
        for (j=0;j<WINDOW;j++){
         if (((*head)->status==PENDING) || ((*head)->status==NEW)) {
             (*head)->status=ACK;
              printf("Packet No. %d: %d\n",(*head)->packetno,(*head)->status);
              QUEUEget(&head);
            }
        }
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-27 20:40:01

大概就是在这种情况下

代码语言:javascript
复制
QUEUEget(&head);

head是一个link*。您正在传递地址,该地址为您提供了指向指针的指针,即link**。你可能需要

代码语言:javascript
复制
QUEUEget(head)
票数 0
EN

Stack Overflow用户

发布于 2013-04-27 20:48:53

错误头:在调用QUEUEget(& c2664 )时,无法将参数%1从"link **“转换为"link *”。

这告诉您QUEUEget函数需要一个link* (指向link的指针)作为其参数,但您向其传递的是link** (指向link的指针)。

receive函数中,参数head已经是一个link*

代码语言:javascript
复制
void receive(link *head);

但是,在这一行中,您将head的地址(即指向link*的指针)传递给QUEUEget

代码语言:javascript
复制
QUEUEget(&head);

相反,只需直接传递head

代码语言:javascript
复制
QUEUEget(head);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16252186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档