错误C2664,需要澄清
Error C2664 , need clarification
我在我的程序中使用这个函数,我通过receive(&head);
调用它。我做错了什么,得到一个错误c2664:调用QUEUEget(&head)
时不能将参数1从"链接**"转换为"链接*"。如果我理解正确,(*head)
是一个链接到另一个链接,所以我应该做一些像(&(&head))
,但它不起作用。
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: %dn",(*head)->packetno,(*head)->status);
QUEUEget(&head);
}
}
}
在这种情况下
QUEUEget(&head);
head
为link*
。你正在传递地址,它给你一个指向指针的指针,即link**
。你可能需要
QUEUEget(head)
错误c2664:无法将参数1从"link **"转换为"link *"当调用QUEUEget(&head)时
这是告诉你,QUEUEget
函数期待一个link*
(一个指向link
的指针)作为它的参数,但是你传递给它一个link**
(一个指向link
的指针)。
在receive
函数中,参数head
已经是link*
:
void receive(link *head);
然而,在这一行中,你将head
的地址(即指向link*
的指针)传递给QUEUEget
:
QUEUEget(&head);
直接传递head
:
QUEUEget(head);
相关文章:
- 为什么这个错误变成(C2664错误C ++ Visual Studio)
- 编译方面的问题.错误E0413、E0434、C2664、C2440
- 使用解算器SparseLU并获得错误C2664
- std::映射导致插入时出现C2664错误
- VS 2017 错误 C2664 地图插入尝试
- 使用自定义对象声明shared_ptr数组时出现错误 C2664
- 编译器错误 C2664 使用 std::map 和自定义类作为其值
- 如何在 VC++ 中通过引用传递另一个对象的方法(错误 C2664)
- C2664 :当我使用 str.append(str[i]) 时,发生错误
- 在C++中构造模板函数时出现编译错误 C2664 和 C2440
- 了解错误 C2664:无法转换参数 1
- 错误 C2664:无法从'NvPhysicalGpuHandle'转换参数 1
- 错误 C2664 和 E0167 被难倒
- 尝试创建unique_ptr时出现错误 C2664
- E0312,C2664尝试将向量对象作为函数参数传递时错误
- 错误 C2664:"errno_t wcstombs_s(size_t *,字符 *,size_t,常量 wchar_t *,size_t)":无法转换参数 4
- 错误C2664:无法转换参数错误
- 在集合中转换为小写 C++ 错误 C2664
- C2664错误,C++,这对我来说是外来的
- vector迭代的派生和基之间的类型转换:C2664错误