标题:关于const
只看楼主
小盗发飙
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2013-1-1
结帖率:0
已结贴  问题点数:10 回复次数:5 
关于const
#include<iostream>
using namespace std;

int main()
{
    const int a=10;
    int *p=&a;
    cout<<*p<<endl;
    system("pause");
}
表示编译不过,为啥,
搜索更多相关主题的帖子: namespace 
2013-01-01 17:52
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:3 
int *p=&a; 改为const int *p=&a;就行了或者int *p=(int *)&a;

我行我乐
我的博客:
http://blog.yuccn. net
2013-01-01 18:55
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
得分:3 
版主的说的正确。楼主的主函数main()的类型是int,函数体末尾少了个return 0;,不想要也行把int main()的int 改成void。初学c++时要养成好习惯。楼主用的什么教材,system("pause");调用系统函数,我写c++表示从来没有用过。我的不写也行。结果是Press any key to continue,多system("pause");这句就一个中英文之分。







好好学习,同进步!

同学习......同进步....你帮我......我帮你.....上善若水.....
2013-01-01 19:45
小盗发飙
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2013-1-1
得分:0 
求版主解释,为啥??
2013-01-02 19:27
小盗发飙
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2013-1-1
得分:0 
回复 2楼 yuccn
为啥,不明白
2013-01-02 19:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:3 
以下是引用不玩虚的在2013-1-1 19:45:44的发言:

版主的说的正确。楼主的主函数main()的类型是int,函数体末尾少了个return 0;,不想要也行把int main()的int 改成void。初学c++时要养成好习惯。楼主用的什么教材,system("pause");调用系统函数,我写c++表示从来没有用过。我的不写也行。结果是Press any key to continue,多system("pause");这句就一个中英文之分。
1。对于main函数,对于每个退出分支,若无return,则编译器自动加上return 0,这是标准规定的。
2。main的返回类型必须是int,无论对于C,还是C++都是这么规定的。你的编译器有可能对于void main不报错,但你要知道这是非标准的。
3。加system("pause"),或类似的烂玩意儿,只说明对控制台程序(命令行程序)的行为模式理解有误。控制台程序结束后就应该退出,而控制台本身是否退出不应该由程序越俎代庖去控制。
4。你的“Press any key to continue”不是程序本身的,而是IDE好意加上去的。同样,也不是加在程序本体中(否则就犯了第3条描述的错误),而是你通过IDE调用控制台程序时,IDE加了Shell
2013-01-04 09:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-394754-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.147320 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved