C++在类之间调用static_cast转换时,需要复制构造函数
来源:互联网 发布:ubuntu磁盘重新分区 编辑:程序博客网 时间:2024/06/05 15:20
下面代码因为T2没有实现T2(T1)复制构造函数,所以编译错误
g++报错:test.cpp|23 col 25| 错误: 对‘T2::T2(T1&)’的调用没有匹配的函数
#include <vector>#include<stdio.h>#include <string.h>#include<iostream>#include <string>using namespace std;class T1{public:int a;double b;};class T2{public:int a;double b;};int main(){T1 t1;t1.a = 2, t1.b = 1.5;T2 t2 = static_cast<T2>(t1);return 0;}
类之间不能用reinterpret_cast转换,尽管定义了T2(T1&)也出错:
G++报错:test.cpp|27 col 33| 错误: 从类型‘T1’到类型‘T2’的转换无效
#include <vector>#include<stdio.h>#include <string.h>#include<iostream>#include <string>using namespace std;class T1{public:int a;double b;};class T2{public:T2(T1& t1){a = t1.a;b = t1.b;}int a;double b;};int main(){T1 t1;t1.a = 2, t1.b = 1.5;T2 t2 = reinterpret_cast<T2>(t1);return 0;}
- C++在类之间调用static_cast转换时,需要复制构造函数
- C++:复制构造函数在什么时候被调用?
- C++:复制构造函数在什么时候被调用?
- C++:复制构造函数在什么时候被调用?
- C++:复制构造函数在什么时候被调用?
- C++_避免调用复制构造函数
- 复制构造函数在什么时候被调用?
- C++static_cast类型转换函数
- 构造函数之间调用
- C++--何时需要定义赋值/复制构造函数
- 为什么需要复制构造函数?
- 类的复制构造函数调用
- C++: 复制构造函数
- 复制构造函数在什么情况下被调用
- 构造函数和析构函数在基类和派生类之间的调用顺序
- 实例解释在重载赋值符时复制构造函数和无参构造函数的调用
- 复制构造函数的调用
- 何时调用复制构造函数
- MFC菜单命令更新机制
- opencv之高斯模型分离背景
- JBoss Web和 Tomcat的区别
- 技术方案的讨论过程来看化繁为简
- Wireshark抓包工具使用教程以及常用抓包规则
- C++在类之间调用static_cast转换时,需要复制构造函数
- hdu acm 3018 Ant Trip
- css中的IEbug处理方法
- unsigned, unsinged int,unsigned long,size_t还是std::size_t?
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍(转)
- 将nutch源码配置到MyEclipse中出现java.lang.OutOfMemoryError: Java heap space错误
- 连接池维护线程
- 黑马程序员_Java语言基础组成-1
- 如何消除你脑海里的消极想法