指针的引用古怪的问题

发布于 2021-11-12 13:47:42 字数 1036 浏览 934 评论 4

代码如下:

#define  False 0 
#define  True  1
#define  SIZE 10 


typedef int  Bool;
typedef int  ElemType;
typedef struct Node{

ElemType key;

struct Node * next;
struct Node * prev;

} *Stack,Elem;


Bool IsEmpty(Stack &stack){

if(stack==NULL)
   return True;
return False;

}

gcc测试代码:

#include <stdio.h>

#include "stack2.h"

int main(){
   Stack  stack=NULL;
   printf("%dn",IsEmpty(stack));
   return 0;
}

dev c++测试代码:

int main(int argc, char *argv[])
{
    Stack s=NULL;
    cout<<IsEmpty(s)<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

分别使用gcc和devc++编译,在gcc下编译报错

inc/stack2.h:28:20:error: expected ';', ',' or ')' before '&' token 也就是Bool IsEmpty(Stack &stack)

而在devc++上则编译通过没错误

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

百思不得你姐 2021-11-16 22:34:07

改成null 小写

网名女生简单气质 2021-11-16 18:50:29

C没有引用,并且判断 
Stack为空的方法有问题。

看透却不说透 2021-11-16 14:41:47

C语言里没有引用,即&

飘过的浮云 2021-11-16 09:27:09

一个C++,一个C。为什么有人就喜欢混一起玩呢?你上面的写法完全是C的风格,那你就老实的用C的语言。C++是面向对象的,如果用C++,你就安心用面向对象折腾自己的设计。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文