Prázdný základní třídy nebo struktury operátor přiřazení může poškození dat

Překlady článku Překlady článku
ID článku: 322127 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Při použití operátoru generovány kompilátor přiřazení pro prázdný základní třídy nebo struktury, může kompilátor generuje kód poškodit data nebo zapsat za koncem třídy nebo struktury.

Příčina

K tomuto problému dochází z důvodu chyby v kompilátoru Visual C++.

Řešení

Společnost Microsoft má nyní k dispozici podporovanou opravu hotfix, která je určena pouze k odstranění problému popsaného v tomto článku. Použijte ji pouze v systémech, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud není použití tento problém, doporučujeme počkat na další aktualizaci service pack pro aplikaci Microsoft Visual Studio 6.0, která obsahuje tuto opravu hotfix.

Potřebujete-li odstranit tento problém okamžitě, obraťte se na služby technické podpory společnosti Microsoft, kde můžete tuto opravu získat. Úplný seznam telefonních čísel podpory pro produkty společnosti Microsoft a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: ve zvláštních případech mohou být poplatky, které jsou třeba obvykle zaplatit za telefonní hovory stornovány, jestliže Microsoft pracovník Určuje, že konkrétní aktualizace vyřeší váš problém. Další dotazy a žádosti o podporu, které se netýkají konkrétní aktualizace, podléhají běžným sazbám za poskytnutí podpory.

Anglická verze této opravy má následující atributy souborů (nebo novější). Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v ovládacím panelu Datum a čas.
   Date         Time   Version         Size       File name
   --------------------------------------------------------------
   14-May-2002  10:40  12.0.9586.0     1,224,755  C1xx.dll
				

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

Další informace

Následující ukázkový kód můžete použít k předvedení problém. Poznámka, hodnoty 'a.m_n' a 'b.m_n lišit.
#include <stdio.h>

class CEmpty
{
public:
	CEmpty() throw()
	{
	}
	CEmpty( const CEmpty& ) throw()
	{
	}
	~CEmpty() throw()
	{
	}

	CEmpty get() const throw()
	{
		return( *this );
	}
};

class CDerived :
	public CEmpty  // Empty base class 
{
public:
	int m_n;
	CDerived& operator=( const CDerived& src ) throw()
	{
		m_n = src.m_n;
                // Overwrites low byte of m_n.
		CEmpty::operator=( src.get() ); 
		return( *this );
	}	
};

int main( int, char** )
{
	CDerived a;
	a.m_n = 0x01020304;
	CDerived b;
	b = a;
	printf( "0x%08x\n", b.m_n );
	return( 0 );
}
				

Vlastnosti

ID článku: 322127 - Poslední aktualizace: 11. října 2005 - Revize: 1.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C++ 6.0 Service Pack 5
Klíčová slova: 
kbmt kbhotfixserver kbqfe kbbug kbfix kbqfe KB322127 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:322127
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com