引用的几个基本问题,有点糊涂# Programming - 葵花宝典
s*y
1 楼
void f(const int &a) {;}
void fpc(const int* &pa) {;}
void fp(int* &pa) {;}
int main()
{
int* pn, na[2], n = 1;
pn = &n;
f(n); // ok
fpc(pn); // error: invalid initialization of reference of type 'const int*&'
from expression of type 'int*'
fp(pn); // ok
fp(na); // error: invalid initialization of non-const reference of type 'int
*&' from a temporary of type 'int*'
}
请问上面这两个错的原因是什么?
f(n)和fpc(pn)之间有什么区别,除了改成传递指针变量之外
fp(pn)和fp(na)又有什么区别?
多谢指点
void fpc(const int* &pa) {;}
void fp(int* &pa) {;}
int main()
{
int* pn, na[2], n = 1;
pn = &n;
f(n); // ok
fpc(pn); // error: invalid initialization of reference of type 'const int*&'
from expression of type 'int*'
fp(pn); // ok
fp(na); // error: invalid initialization of non-const reference of type 'int
*&' from a temporary of type 'int*'
}
请问上面这两个错的原因是什么?
f(n)和fpc(pn)之间有什么区别,除了改成传递指针变量之外
fp(pn)和fp(na)又有什么区别?
多谢指点