| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1257 人关注过本帖
标题:c++小语句错在那里?
只看楼主 加入收藏
mako
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-8-1
收藏
 问题点数:0 回复次数:20 
c++小语句错在那里?

#include<iostream.h>
void main()
{
const int num =500;   //有错误吗
int& ref=num;
cout << ref << endl;
ref=ref+100;
cout<<ref<<endl;
cout<<num<<endl;
}


提示:

--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
C:\Documents and Settings\Administrator\Cpp1.cpp(5) : error C2440: 'initializing' : cannot convert from 'const int' to 'int &'
A reference that is not to 'const' cannot be bound to a non-lvalue
Error executing cl.exe.

Cpp1.obj - 1 error(s), 0 warning(s)

Thank you !

搜索更多相关主题的帖子: 语句 
2006-08-31 10:47
lann
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-8-25
收藏
得分:0 
int& ref=num;
这句错了,num 被定义成const, 不能再用来为整形引用 ref初始化了 。

你的程序好像不是标准c++,用VC6?

标准c++已经用<iostream>代替<iostream.h>
main 只能是 int main() ,不能用void main()
2006-08-31 11:38
mako
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-8-1
收藏
得分:0 
怎么修改?

2006-08-31 12:00
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
不对,你的const类型是指不能被修改的。

int num =500;

[此贴子已经被作者于2006-8-31 15:23:45编辑过]


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-31 15:22
xhero
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-9-1
收藏
得分:0 

#include<iostream>
using namespace;

int abc(int a)
{int b;
b=a+100;
ruturn b;
}

int main()
{
const int num =500;
int ref=num;
cout << ref << endl;
ref=abc(ref);
cout<<ref<<endl;
cout<<num<<endl;
return 1;
}
没有调试过,你自己试一下

2006-09-01 10:39
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-09-01 10:58
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
收藏
得分:0 
以下是引用xhero在2006-9-1 10:39:21的发言:

#include<iostream>
using namespace;

/*int abc(int a)
{int b;
b=a+100;
ruturn b;
}*/

int main()
{
const int num =500;
int ref=num;
cout << ref << endl;
/*ref=abc(ref);*/ref += 100;上面的函数abc都不必要了
cout<<ref<<endl;
cout<<num<<endl;
return 1;
}
没有调试过,你自己试一下



2006-09-01 11:08
paopao
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-1
收藏
得分:0 

#include<iostream.h>
void main()
{
int num =500;   
int& ref=num;
cout << ref << endl;
ref=ref+100;
cout<<ref<<endl;
cout<<num<<endl;
}

这样编译应该是可以通过的!

2006-09-01 14:06
mako
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-8-1
收藏
得分:0 

谢谢


2006-09-01 20:57
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
以下是引用穆扬在2006-9-1 10:58:37的发言:


wfpb:
我请教一下
const int& ref=num;
是否可以?
(当然这可能没有什么实用意义)

#include<iostream.h>
void main()
{
const int num =500;  
const int& ref=num;
cout << ref << endl;
ref=ref+100; //似乎也不行吧?
cout<<ref<<endl;
cout<<num<<endl;
}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-01 22:11
快速回复:c++小语句错在那里?
数据加载中...
 
   



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

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