读书人

const的疑问,该怎么解决

发布时间: 2012-04-17 15:06:33 作者: rapoo

const的疑问

C/C++ code
void f1( const int *& t){   }void f2( const int *const& t){   }int _tmain(int argc, _TCHAR* argv[]){        int* p;    f1(p); //不能将参数 1 从“int *”转换为“const int *&    f2(p);//正常编译        return 0;}


问题是f1不能正常编译?而f2可以呢?
像下面这样,指向const类型的指针不是可以指向非指向const类型的吗?
C/C++ code
int*pp1;const int*pp2=pp1;


[解决办法]
类似下面代码:
C/C++ code
void f1( const int ** t){   }void f2( const int * const *t){   }int main(){        int *p;    f1(&p); //不能将参数 1 从“int *”转换为“const int *&    f2(&p);//正常编译        return 0;}
[解决办法]
探讨
C/C++ code

void f1( const int *& t)
{


}
void f2( const int *const& t)
{


}

int _tmain(int argc, _TCHAR* argv[])
{


int* p;
f1(p); //不能将参数 1 从“int *”转换为“const int *&amp……

[解决办法]
探讨

我没理解#1朋友的意思

另外请教#8
若是右值的话对于vs2010的右值引用为什么也不行呢? 望指教~~谢谢!
C/C++ code

void f3(const int*&&)
{

}
int* p;
f3(p);//错误

读书人网 >C++

热点推荐