gpt4 book ai didi

c++ - 错误 : dereferencing pointer to incomplete type

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:06 25 4
gpt4 key购买 nike

我在编译过程中遇到上述错误:

结构:

struct connection_handlers
{
int m_fd;

}

struct connection_handlers ** _queue;

int main()
{

_queue = (struct connection_handlers **) malloc ( 3* sizeof ( struct connection_handlers *)); //Allocating space for 3 struct pointers

for (i=0;i<3;i++)
{
_queue[i]->m_fd=-1;
}//Initializing to -1

//.....
//I assign this varaible to the file descriptor returned by accept and then
//at some point of time i try to check the same variable and it gives compilatio error.

for (i=0;i<3;i++)
{
if (_queue[i]->m_fd!=-1)
}//It give error at this line.

}

可能是什么原因导致错误。

谢谢

最佳答案

由于您将此问题同时标记为 C 和 C++,因此您的 C++ 出了什么问题。

  • 不要把 struct 放在你的 Actor 中
  • 不要为循环计数器使用隐式 int
  • 结构声明需要终止;
  • _queue 是用一个困惑的类型声明的
  • 你的最后一个循环丢失了

一旦你清理它,它就可以正常编译。

#include <cstdlib>

struct connection_handlers {
int m_fd;
};

int main() {
connection_handlers** _queue = (connection_handlers**) malloc(3*sizeof (connection_handlers*));

for (int i=0;i<3;i++) {
_queue[i]->m_fd=-1;
}

for (int i=0;i<3;i++) {
if (_queue[i]->m_fd!=-1)
; // DOES NOTHING
}
}

关于c++ - 错误 : dereferencing pointer to incomplete type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4352183/

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