C++函数重载无聊2
来源:互联网 发布:技嘉主板设置网络唤醒 编辑:程序博客网 时间:2024/05/17 22:02
先看一段代码
#include <iostream>using namespace std;template<typename elemType, size_t nSize>class CRefAsParam{public: typedef elemType MyArray[nSize]; static void RefAsParam(int p[]) { } static void RefAsParam(MyArray & aRR) { }};int main(){ typedef CRefAsParam<int, 10> MyType; MyType::MyArray a = {20, 30, 77}; MyType::RefAsParam(a); return 0;}编译就不能通过
编译出错:
/home/zhou/C++/Re/main.cpp:36: 错误:call of overloaded 'RefAsParam(CRefAsParam<int, 10u>::MyArray)' is ambiguous
ambiguous:adj. 模糊不清的;引起歧义的
在看编译器的认识
../Re/main.cpp:16:17: note: static void CRefAsParam<elemType, nSize>::RefAsParam(int*) [with elemType = int, unsigned int nSize = 10u]
../Re/main.cpp:21:17: note: static void CRefAsParam<elemType, nSize>::RefAsParam(elemType (&)[nSize]) [with elemType = int, unsigned int nSize = 10u, CRefAsParam<elemType, nSize>::MyArray = int [10]]
重载是在编译期完成的(多态是在运行期完成的),编译时,选择时不能决定,所以报错。
- C++函数重载无聊2
- C++函数重载无聊
- C++:重载函数2(计算面积)
- C/C++ 函数重载
- [c++]函数重载
- C++:函数重载
- Objective-C函数重载
- c++-函数重载
- C++-函数重载
- C++_函数重载
- 【C++】函数的重载
- 【C++】:C++函数重载
- [C++]函数重载
- C/C++函数重载
- <C++>_函数重载
- 【c++】函数的重载
- <C++>4.重载函数
- C/C++:C++函数重载
- Imei 生成-java版
- js 基础知识
- poj 1014 DFS
- 抽象机制与对象范式-抽象封装
- iOS 6 下自动旋转的变化
- C++函数重载无聊2
- lmer:Fit mixed-Effects Models
- C# 窗口最大化但不占用任务栏位置
- ThinkPHP学习笔记(十九)权限管理的实现方式RBAC
- Magento 后台menu不能进入的解决办法
- 《计算机科学概论》读书笔记
- java web问题点
- Codeforces Round #165 (Div. 1)
- 「学习总结-Haskell-3] Haskell常用数据结构