不允许指向不完整类类型的指针

不允许指向不完整类类型的指针,第1张

概述我正在实现一个冒泡排序功能,它可以对单词进行排序.交换功能字很好,但我无法得到错误.尝试在线搜索,但无法获得有用的东西.我已经标记了我得到错误的地方. 感谢您的帮助. void sortWord (struct node** head) { struct node* temp = (*head); struct node* temp2 = (*head); int i; 我正在实现一个冒泡排序功能,它可以对单词进行排序.交换功能字很好,但我无法得到错误.尝试在线搜索,但无法获得有用的东西.我已经标记了我得到错误的地方.

感谢您的帮助.

voID sortWord (struct node** head) {    struct node* temp  = (*head);    struct node* temp2 = (*head);    int i;    int j;    int counter = 0;    while(temp != NulL)    {        temp = temp->next; //<-- this is where i get the error.        counter++;    }    for( i = 1; i<counter; i++)    {        temp2=(*head);        for(j = 1; j<counter-1;j++)        {            if(wordCompare(temp2,nodeGetNextNode(temp2))>0)            {                swap(head,temp2,nodeGetNextNode(temp2));                continue;            }        }        temp2 = nodeGetNextNode(temp2);    }}
解决方法 当您尝试使用已向前声明但未定义的结构时,会出现此错误.虽然声明和 *** 作指向这些结构的指针是绝对可以的,但尝试取消引用它们并不行,因为编译器需要知道它们的大小和布局才能执行访问.

具体来说,在您的情况下,编译器不知道struct node有next,所以

temp->next

不编译.

您需要在编译单元中包含struct节点的定义,您可以在其中定义sortWord函数来解决此问题.

总结

以上是内存溢出为你收集整理的不允许指向不完整类类型的指针全部内容,希望文章能够帮你解决不允许指向不完整类类型的指针所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存