像大家请教一个问题,全局指针变量的!

sj0519 2011-10-29 11:17:54
在一个.cpp文件里写了这么二行代码:

int a=0;
int *p=&a;




按理说,应该没问题吧,可是奇怪的是,编译居然通不过,错误原因是:

‘p’不是一个类型名!

但是,你把这两行代码写到一个函数里,就没有问题了!

难道全局指针变量不能赋值???
麻烦高手支招!
...全文
80 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ITDeng 2011-10-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 sj0519 的回复:]
在一个.cpp文件里写了这么二行代码:

int a=0;
int *p=&a;




按理说,应该没问题吧,可是奇怪的是,编译居然通不过,错误原因是:

‘p’不是一个类型名!

但是,你把这两行代码写到一个函数里,就没有问题了!

难道全局指针变量不能赋值???
麻烦高手支招!
[/Quote]

表示VS2010无错误
sj0519 2011-10-29
  • 打赏
  • 举报
回复
哦,vs2010我没试过,但是,linux下用g++是肯定通不过,不信,你用vmvare试一下!
vs2010我试试看!
iamnobody 2011-10-29
  • 打赏
  • 举报
回复
我试过,行。。。VS2010
sj0519 2011-10-29
  • 打赏
  • 举报
回复
我试过了,我的.pp文件里面就这两行代码,但是,通不过编译,不信的话,你可以试一下!
有高手指导一下吗?
iamnobody 2011-10-29
  • 打赏
  • 举报
回复
你先声明int *P 看能不能通过。试试交换一下顺序,或者试试声明别的类型。检查一下类声明后面有没有分号之类的。这样的问题应该是分号的问题。要么就是别的文件中已经有p这个符号的,换个名字试试。。
sj0519 2011-10-29
  • 打赏
  • 举报
回复
大家可以编译一下,试一下,但是是通不过的,很奇怪啊!
sj0519 2011-10-29
  • 打赏
  • 举报
回复
我刚才也说了,你把这两行写到一个函数体里面的话,编译通过!所以,我的语法是没有问题的!
全局指针变量不能赋值???还是怎么的?
sj0519 2011-10-29
  • 打赏
  • 举报
回复
不是啊,我在这个帖子上写的是中英文混了,但是,我用vi在linux系统下写的时候,全是英文的,但是还是有这个问题,请高手指导!

JieTouLangRen 2011-10-29
  • 打赏
  • 举报
回复
楼上正解
LZ代码时要注意中英文字符的问题哦~
iamnobody 2011-10-29
  • 打赏
  • 举报
回复
int a=0;
int *p=&a;


你的int a = 0;的分号是中文的“;”,换成";"
sj0519 2011-10-29
  • 打赏
  • 举报
回复
是我错了,可以通过的,对不起了!我按了f5,搞错了,呵呵,谢谢大家啦!
sj0519 2011-10-29
  • 打赏
  • 举报
回复
请高手支招!
lbcsu2 2011-10-29
  • 打赏
  • 举报
回复
表示试了可以通过。
sj0519 2011-10-29
  • 打赏
  • 举报
回复
我刚刚装了2010试了一下,根本通不过,忽悠人啊?

64,694

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧