C++ const 与函数重载

和自甴很熟 提交于 2020-02-26 22:43:39
#include <iostream>  
using namespace std;  
  
/*  
 * 在函数重载时,形参为底层const可以重载  
 * 而形参为顶层const时不可重载  
 * 向实参添加顶层const或者从实参中删除顶层const属于精确匹配  
 * 无法区分两个函数  
 * 所以不能发生重载  
 */  

int f(int const i) {  
    cout << "const f" << endl;  
}  
  
int f(int i) {		//报错  
  cout << "f" << endl;  
}  
  
//===============================  
  
void k(const int *p) {  
    return;  
}  
  
void k(int *p) {  
    return;  
}  
  
void k(int* const P) {//报错  
  return;  
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!