标题:可以将const 的结构体变量 赋给 const 结构体引用吗?
只看楼主
zzt_428
Rank: 2
来 自:南京师范大学
等 级:论坛游民
威 望:2
帖 子:243
专家分:22
注 册:2008-7-6
 问题点数:0 回复次数:1 
可以将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-08-23 18:49
zzt_428
Rank: 2
来 自:南京师范大学
等 级:论坛游民
威 望:2
帖 子:243
专家分:22
注 册:2008-7-6
得分:0 
补充
各位对不起!我重新做实验验证了一下,,是可以的,上面代码有错误,函数的声明中 参数应该改为 const sysop & sysopref 就可以编译通过了.
对不起!
2008-08-23 19:07



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




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

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