const vector *&vector_pointer报错

代码如下: 

C/C++ code
   
   
// Es1.7.cpp : 定义控制台应用程序的入口点。 // // 用指针来操作六个VECTOR的数列 #include " stdafx.h " #include < iostream > #include < vector > using namespace std; // 遍历VECTOR,传递过来的是指向VECTOR的指针 void visit_vector( const vector < int > *& vector_pointer ){ for ( int index = 0 ; index < ( * vector_pointer).size(); index ++ ){ cout << ( * vector_pointer )[ index ] << ' /t ' ; } cout << endl; } int _tmain( int argc, _TCHAR * argv[]) { const int seq_size = 8 ; int fib[ seq_size ] = { 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 }; int luc[ seq_size ] = { 1 , 3 , 4 , 7 , 11 , 18 , 29 , 47 }; int pel[ seq_size ] = { 1 , 2 , 5 , 12 , 29 , 70 , 169 , 408 }; int tri[ seq_size ] = { 1 , 3 , 6 , 10 , 15 , 21 , 28 , 36 }; int squ[ seq_size ] = { 1 , 4 , 9 , 16 , 25 , 36 , 49 , 64 }; int pen[ seq_size ] = { 1 , 5 , 12 , 22 , 35 , 51 , 70 , 92 }; vector < int > fibonacci( fib, fib + seq_size ), lucas( luc, luc + seq_size ), pell( pel, pel + seq_size ), triangular( tri, tri + seq_size ), square( squ, squ + seq_size ), pentagonal( pen, pen + seq_size ); const int seq_cnt = 6 ; vector < int > * seq_addres[ seq_cnt ] = { & fibonacci, & lucas, & pell, & triangular, & square, & pentagonal }; for ( int index = 0 ; index < seq_cnt; index ++ ){ visit_vector( seq_addres[ index ] ); } return 0 ; }

 



报错如下: 
1>------ 已启动生成: 项目: Es1.7, 配置: Debug Win32 ------ 
1>正在编译... 
1>Es1.7.cpp 
1>d:/windc++_source_primer+essential/es1.7/es1.7/es1.7.cpp(12) : warning C4018: “ <”: 有符号/无符号不匹配 
1>d:/windc++_source_primer+essential/es1.7/es1.7/es1.7.cpp(48) : error C2664: “visit_vector”: 不能将参数 1 从“std::vector <_Ty> *”转换为“const std::vector <_Ty> *&” 
1>        with 
1>        [ 
1>            _Ty=int 
1>        ] 
1>        转换丢失限定符 
1>生成日志保存在“file://d:/windC++_source_primer+Essential/Es1.7/Es1.7/Debug/BuildLog.htm” 
1>Es1.7 - 1 个错误,1 个警告 
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ========== 

 

最后发现原因是这样子的:

不是说如果形参是CONST的实参可以是非CONST的吗? 
上面这句话是针对非引用形参来说的。当形参是引用类型的 
话,实参必须完全匹配形参类型。

 

e.g.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值