可以将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 &