注册 登录
编程论坛 C++教室

函数返回const的问题?

newyj 发布于 2008-10-05 22:12, 1426 次点击
把函数返回值声明为const
例:
const int newfuc()
{
  return 1;
}
在main函数中 调用newfuc函数
例:
int main()
{
  int i=0;
  i=newfuc();
  cout<<i<<endl;
  return 0;
}
不是说 声明为const的变量 不能赋值给非const变量吗?(但是 dev-c++编译可以运行)
为什么 函数返回的const变量 可以赋值给非const变量呢?(也可以运行)
7 回复
#2
blueboy820062008-10-05 22:25
声明为const的变量 不能赋值给非const变量

在哪学的....?
#include <iostream.h>
int main()
{
    const int i=1;
    int j=i;
    j++;
    cout<<j<<endl;
    return 0;
}
#3
vfdff2008-10-05 23:18
回复 1# newyj 的帖子
本来就是可以的
#4
守鹤2008-10-05 23:20
[bo][un]newyj[/un] 在 2008-10-5 22:12 的发言:[/bo]声明为const的变量 不能赋值给非const变量吗

应该是函数参数通过地址传递时,
常量的地址不能传给变量指针吧,
#5
blueboy820062008-10-06 12:50
回复 4# 守鹤 的帖子
守鹤最近怎么老是换头像...?
#6
sunkaidong2008-10-06 13:27
常量的地址不能传给变量指针吧,????
#7
blueboy820062008-10-06 20:20
听说过这句:
不可以将指向非const对象的指针指向const对象...
还听说过这句:
普通的非const引用形参既不能用const对象初始化,也不能用字面值或产生右值的表达式实参初始化...

就是没听说过LZ那句...
#8
zzt_4282008-10-07 19:33
楼主记错了!是const变量的地址不能赋给非const的指针. c
1