| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 221 人关注过本帖
标题:可以将const 的结构体变量 赋给 const 结构体引用吗?
收藏  订阅  推荐  打印 
zzt_428
Rank: 2
来自:南京师范大学
等级:注册会员
威望:1
帖子:156
积分:1740
注册:2008-7-6
可以将const 的结构体变量 赋给 const 结构体引用吗?

请各位看以下代码,既然可以把非const 变量的地址 赋值给const 指针,,也可以把const 常量的地址赋给const 指针,
那么为什么我把const 结构体变量 赋给 const 结构体引用 就错了呢? 多谢各位指点.

#include <iostream>
using namespace std;

struct sysop
{
    char name[26];
    char quote[64];
    int used;
};

const sysop & use(sysop & sysopref);

int main()
{
         const sysop looper=   // const 结构体变量
    {
        " Rick\Fortran\Looper  ",
        "I'm a goto kind guy.",
        0
    };
    
    use(looper);
         cout << "Looper: " << looper.used << "uses\n";
    sysop copycat;
    copycat=use(looper);
    cout << "Looper: " << looper.used << "uses\n";
    cout << "copycat: " << copycat.used << "uses\n";
    cout << "use(looper) " << use(looper).used << "uses\n";

    return 0;
}

const sysop & use(const sysop & sysopref)  //参数是 const 结构体引用  编译错误
{
    cout << sysopref.name << "says\n";
    cout << sysopref.quote << endl;
    sysopref.used++;
    return sysopref;
}

编译不通过,,提示 can't convert const struct to const struct &
搜索更多相关主题的帖子: const  结构体  变量  
2008-8-23 18:49
zzt_428
Rank: 2
来自:南京师范大学
等级:注册会员
威望:1
帖子:156
积分:1740
注册:2008-7-6
补充

各位对不起!我重新做实验验证了一下,,是可以的,上面代码有错误,函数的声明中 参数应该改为 const sysop & sysopref 就可以编译通过了.
对不起!
2008-8-23 19:07
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.093434 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved