我用VS2015写C++用MFC,怎么老是提示尝试引用已删除的函数?

qq_22863087 2016-10-12 11:09:48
我用VS2015写C++用MFC,怎么老是提示尝试引用已删除的函数?定位到这里: union Uip
{
int ud_ip;
CString ub_ip;
CString uy_u;
}udate;
源码如下:
union Uip
{
int ud_ip;
CString ub_ip;
CString uy_u;
}udate;
void CMFCApplication1Dlg::OnBnClickedChange()
{
int c = 0;
int cc;
CString aa;
CString yy;
udate.ud_ip = 128;
switch(c)
{
case 0:
UpdateData(true);
cc = udate.ud_ip;
dip = cc;
UpdateData(false);
break;
case 1:
UpdateData(true);
udate.ub_ip = "1000100";
aa = udate.ub_ip;
bip = aa;
UpdateData(false);
break;
case 2:
UpdateData(true);
udate.uy_u = "fsfhsl";
yy = udate.uy_u;
yu = yy;
UpdateData(false);
break;
}
c++;
c %= 3;
}
...全文
1665 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2020-05-05
  • 打赏
  • 举报
回复
union 只是 是一段内存, 他可以被看作 里面其中的 一个 类型
farfrome 2020-05-03
  • 打赏
  • 举报
回复
参考一下CMap用法:
https://editor.csdn.net/md/?articleId=105908977
赵4老师 2016-10-12
  • 打赏
  • 举报
回复
引用 8 楼 zhao4zhong1 的回复:
在union中使用对象本来就是错误的做法。因为对象不是一段内存
参考5楼。
赵4老师 2016-10-12
  • 打赏
  • 举报
回复
在union中使用对象本来就是错误的做法。因为对象不是一段内存
qq_22863087 2016-10-12
  • 打赏
  • 举报
回复
引用 1 楼 珍惜生命远离CPP的回复:
union Uip { int ud_ip; CString ub_ip; CString uy_u; }udate; 这个是要干啥啊?
这是下面要对里面的数据赋值,输出
qq_22863087 2016-10-12
  • 打赏
  • 举报
回复
引用 4 楼 赵4老师的回复:
union里面放对象我这辈子还真是头次见到。
我是刚学,不太懂,union里不能放对象?这是什么意思
赵4老师 2016-10-12
  • 打赏
  • 举报
回复
《深度探索C++对象模型》 《C++反汇编与逆向分析技术揭秘》
赵4老师 2016-10-12
  • 打赏
  • 举报
回复
union里面放对象我这辈子还真是头次见到。
qq_22863087 2016-10-12
  • 打赏
  • 举报
回复
用union来给不同的文本框输出不同类型的值,就是了解一下union的作用
向立天 2016-10-12
  • 打赏
  • 举报
回复
union里用CString不太合适吧 改成char数组试试
  • 打赏
  • 举报
回复
union Uip { int ud_ip; CString ub_ip; CString uy_u; }udate; 这个是要干啥啊?
qq_22863087 2016-10-12
  • 打赏
  • 举报
回复
引用 13 楼 zjq9931的回复:
推荐查看MSDN中VARIANT的结构,里面有多种类型的时候,怎么使用的union
谢谢,我试试看看,不过,我改成char就可以了
  • 打赏
  • 举报
回复
推荐查看MSDN中VARIANT的结构,里面有多种类型的时候,怎么使用的union
  • 打赏
  • 举报
回复

union Uip
{
  int  ud_ip;
  CString ub_ip;
  CString uy_u;
}udate;
这个其实可以搞成结构体的。

struct Uip
{
  ULONG ulType;
  int  ud_ip;
  CString ub_ip;
  CString uy_u;
}udate;
根据ulType设置,读取相应的成员。 当然也可以做成类。 COM的VARIANT就是这么干的。
赵4老师 2016-10-12
  • 打赏
  • 举报
回复
引用 10 楼 akirya 的回复:
[quote=引用 4 楼 zhao4zhong1 的回复:] union里面放对象我这辈子还真是头次见到。
C++11可以啊 Unrestricted unions[/quote] 涨姿势了。
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
union里面放对象我这辈子还真是头次见到。
C++11可以啊 Unrestricted unions

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧