本文介绍了900624-它是错误吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨在以下代码中:

 //  t4.cpp:定义控制台应用程序的入口点.
//  

#include   "  stdafx.h"

结构 S
{
联盟
{
结构
{
浮动 f1;
布尔 b;
};
结构
{
布尔 b;
字符 c;
 float  f2;
};
};
};

 int  _tmain( int  argc,_TCHAR * argv [])
{
s;
s.b =  true ;
s.f2 =  1 . 00 ;
返回  0 ;
} 


当s.f2初始化时,s.b变为false!
这是一个错误吗?我尝试了VS2008和VS2010,而这两种情况都发生了.
有什么问题?
thx

解决方案




hiin the following code:

// t4.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

struct S
{
	union
	{
		struct
		{
			float f1;
			bool b;
		};
		struct
		{
			bool b;
			char c;
			float f2;
		};
	};
};

int _tmain(int argc, _TCHAR* argv[])
{
	S s;
	s.b = true;
	s.f2 = 1.00;
	return 0;
}


when s.f2 is initialized, s.b becomes false!
is it a bug?! i tried VS2008 and VS2010 and this happens in both.
what''s the problem?
thx

解决方案




这篇关于900624-它是错误吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 09:01