C++通过内嵌类无法推断外部类的模板实参。
2016-06-15 00:00
465 查看
本次验证有如下两个结论
1、C++通过嵌套类无法推断出外部类的模板实参。
2、C++内部类可访问外部类的私有成员。
1、C++通过嵌套类无法推断出外部类的模板实参。
2、C++内部类可访问外部类的私有成员。
#include <iostream> #include <stdint.h> template<typename Type> class OuterClass { public: class InnerClass; public: OuterClass(uint32_t nNum):m_OuterNum(nNum){} private: uint32_t m_OuterNum; }; template<typename Type> class OuterClass<Type>::InnerClass { public: InnerClass(const OuterClass &outer): m_InnerNum(outer.m_OuterNum){} private: uint32_t m_InnerNum; }; template<typename Type> void Function(const typename OuterClass<Type>::InnerClass &inner) { return; } int main() { typedef OuterClass<uint32_t> IntOuterClass; IntOuterClass intClass(99); IntOuterClass::InnerClass innerClass(intClass); Function(innerClass);//Error. Could not deduce template argument for 'Type' return 0; }
相关文章推荐
- [leetcode[ 【字符串】 44. Wildcard Matching
- leetcode_c++:Find Peak Element(162)
- C++ 引用本质的详解
- Qt安卓JNI交互之(1) C++注册函数给JAVA调用
- c语言学习笔记27之指针3
- C++文件流
- effective c++学习笔记0
- 240. Search a 2D Matrix II
- c++:chang fang zhu de tiji yu mianji
- ios学习路线—C语言(枚举)
- 29. Divide Two Integers
- 头文件里面实现一个函数,在两个cpp中包含,则重复定义,如果加上inline则不会报错
- C语言输入函数区别
- [leetcode] 【字符串】 10. Regular Expression Matching
- C++继承二
- C语言学习笔记 链表基础
- 范型程序设计——洗牌
- 基本数据类型
- 【c++程序】计算字符个数
- 8大常用通讯中间件/MQ使用总结