首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

const的疑问,该怎么解决

2012-04-17 
const的疑问C/C++ codevoid f1( const int *& t){}void f2( const int *const& t){}int _tmain(int argc,

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);//错误

热点排行