Sdílet prostřednictvím


Smíšené minimální pravidla pravidlo

Minimální pravidla smíšené společnosti Microsoft se zaměřuje na nejdůležitější problémy v projektech C++, které podporují modul CLR, včetně potenciální bezpečnostní díry a selhání aplikace.Měli byste zahrnout tuto sadu pravidel v jakékoli vlastní sadě pravidel, kterou vytvoříte pro vaše projekty C++, které podporují modul CLR (Common Language Runtime).

Pravidlo

Description

C6001

Použití neinicializované paměti

C6011

Přesměrování ukazatele Null

C6029

Použití nekontrolované hodnoty

C6053

Nulové ukončení z volání

C6059

Chybné zřetězení

C6063

Chybějící argument řetězce ve funkci Format

C6064

Chybějící celočíselný argument ve funkci Format

C6066

Chybějící argument ukazatel ve funkci Format

C6067

Chybějící argument ukazatele na řetězec ve funkci Format

C6101

Vrácení neinicializované paměti

C6200

Index překračuje maximální vyrovnávací paměť

C6201

Index překračuje maximální vyrovnávací paměť zásobníku

C6270

Chybějící argument typu float ve funkci Format

C6271

Nadbytečný argument ve funkci Format

C6272

Argument, který není typu float, ve funkci Format

C6273

Argument, který není celočíselný, ve funkci Format

C6274

Argument, který není znakem, ve funkci Format

C6276

Neplatné přetypování řetězce

C6277

Neplatné volání CreateProcess

C6284

Neplatný objektový argument ve funkci Format

C6290

Priorita logického NE a bitové operace AND

C6291

Priorita logického NE a bitové operace OR

C6302

Neplatný argument řetězce znaků ve funkci Format

C6303

Neplatný argument řetězec širokých znaků ve funkci Format

C6305

Neshodné použití velikosti a počtu

C6306

Nesprávné volání funkce s proměnnými argumenty

C6328

Možná neshoda typu argumentu

C6385

Přetečení čtení

C6386

Přetečení zápisu

C6387

Neplatná hodnota parametru

C6500

Neplatná vlastnost atributu

C6501

Kolidující hodnoty vlastností atributů

C6503

Odkazy nemohou být Null

C6504

Null na neukazatel

C6505

MustCheck na Void

C6506

Velikost vyrovnávací paměti na neukazatel nebo pole

C6507

Neshoda Null na nule přístupné přes ukazatel

C6508

Oprávnění k zápisu na konstantě

C6509

Vrácení použito ve vstupní podmínce

C6510

Ukončení znakem Null na neukazateli

C6511

MustCheck musí být Ano nebo Ne

C6513

Velikost prvku bez velikosti vyrovnávací paměti

C6514

Velikost vyrovnávací paměti překračuje velikost pole

C6515

Velikost vyrovnávací na neukazateli

C6516

Žádné vlastnosti na atributu

C6517

Platná velikost na nečitelné vyrovnávací paměti

C6518

Zapisovatelná velikost na nezapisovatelné vyrovnávací paměti

C6519

Neplatná anotace: hodnota vlastnosti 'NeedsRelease' musí být Ano nebo Ne.

C6521

Neplatný přístup přes ukazatel na velikost řetězce

C6522

Neplatný typ velikosti řetězce

C6523

Neplatný parametr velikosti řetězce

C6525

Neplatné nedostupné umístění velikosti řetězce

C6526

Neplatný typ vyrovnávací paměti velikosti řetězce

C6527

Neplatná anotace: vlastnost NeedsRelease nesmí být použita pro hodnoty typu void.

C6530

Nerozpoznaný styl formátu řetězce

C6540

Použití poznámek s atributy na tuto funkci způsobí zneplatnění všech existujících poznámek __declspec

C6551

Neplatná specifikace velikosti: výraz nelze analyzovat

C6552

Neplatný Deref = nebo Notref =: výraz nelze analyzovat

C6701

Hodnota není platnou hodnotou Ano/Ne/Možná

C6702

Hodnota není hodnota řetězce

C6703

Hodnota není číslo

C6704

Neočekávaná chyba výrazu poznámky

C6705

Očekávaný počet argumentů pro poznámku neodpovídá skutečnému počtu argumentů pro poznámku

C6706

Neočekávaná chyba poznámky pro poznámku

C28021

Parametr popsaný poznámkou musí být ukazatel

C28182

Přistupování přes ukazatel NULL.Ukazatel obsahuje stejnou hodnotu NULL jako jiný ukazatel.

C28202

Neplatný odkaz na nestatický člen

C28203

Nejednoznačný odkaz na člen třídy.

C28205

_Success_ nebo _On_failure_ použito v neplatném kontextu

C28206

Levý operand odkazuje na strukturu, použijte '->'

C28207

Levý operand je struktura, použijte '.'

C28210

Poznámky pro kontext __on_failure nesmí být v explicitním předkontextu

C28211

Pro SAL_context byl očekáván název statického kontextu

C28212

Pro poznámku byl očekáván výraz ukazatele

C28213

Poznámka _Use_decl_annotations_ musí být použita pro odkazování předchozí deklarace bez úprav.

C28214

Názvy parametrů atributu musí být p1...p9

C28215

Typefix nelze použít na parametr, který již má typefix

C28216

Poznámka CheckReturn platí pouze pro následné podmínky pro určitý parametr funkce.

C28217

Počet parametrů poznámky na funkci neodpovídá tomu, který byl nalezen v souboru

C28218

Parametr poznámky pro parametr funkce neodpovídá tomu, který byl nalezen v souboru

C28219

Člen výčtu byl očekáván pro okomentování parametru v poznámce

C28220

Celočíselný výraz byl očekáván pro okomentování parametru v poznámce

C28221

Výraz řetězce byl očekáván pro parametr v poznámce

C28222

Pro poznámku očekávány hodnoty __yes, __no nebo __maybe

C28223

Nebyl nalezen očekávaný Token/identifikátor pro poznámku, parametr

C28224

Poznámka vyžaduje parametry

C28225

Nebyl nalezen správný počet požadovaných parametrů v poznámce

C28226

Poznámka nemůže být také PrimOp (v aktuální deklaraci)

C28227

Poznámka nemůže být také PrimOp (viz předchozí deklarace)

C28228

Parametr poznámky: v poznámkách nelze používat typ

C28229

Poznámka nepodporuje parametry

C28230

Typ parametru nemá žádné členy.

C28231

Poznámka je platná pouze pro pole

C28232

pre, post nebo deref nebyly použity pro ani jednu poznámku

C28233

pre, post nebo deref použity pro blok

C28234

Výraz __at se nevztahuje na aktuální funkci

C28235

Funkce nemůže zůstat sama jako poznámka

C28236

Poznámka nemůže být použita ve výrazu

C28237

Poznámka pro parametr není již nadále podporována

C28238

Poznámka pro parametr má více než jednu value, stringValue nebo longValue.Použijte paramn=xxx

C28239

Poznámka pro parametr má jak value, stringValue a longValue, tak i paramn=xxx.Použijte pouze paramn=xxx

C28240

Poznámka pro parametr obsahuje param2, ale ne param1

C28241

Poznámka pro funkci na parametru není rozpoznána

C28243

Poznámka pro funkci na parametru vyžaduje více přístupů přes ukazatel, než skutečný typ s poznámkou umožňuje

C28245

Poznámka pro funkci popisuje 'this' na funkci bez členu

C28246

Poznámka parametru pro funkci neodpovídá typu parametru

C28250

Nekonzistentní poznámka pro funkci: v předchozí instanci došlo k chybě.

C28251

Nekonzistentní poznámka pro funkci: v této instanci došlo k chybě.

C28252

Nekonzistentní poznámka pro funkci: parametr má v této instanci jiné anotace.

C28253

Nekonzistentní poznámka pro funkci: parametr má v této instanci jiné anotace.

C28254

dynamic_cast<>() není v poznámkách podporováno

C28262

Ve funkci byla nalezena chyba syntaxe v poznámce

C28263

Chyba syntaxe v podmíněné poznámce byla nalezena pro Vnitřní poznámku

C28264

Výsledné seznamy hodnot musí být konstanty.

C28267

Chyba syntaxe v poznámkách byla nalezena v poznámce pro funkci.

C28272

V poznámce pro funkci je parametr nekonzistentní s deklarací funkce při zkoumání

C28273

Klíče funkce nejsou konzistentní s deklarací funkce

C28275

Parametr _Macro_value_ je null

C28279

Pro symbol byl nalezen 'begin' bez odpovídajícího 'end'

C28280

Pro symbol byl nalezen 'end' bez odpovídajícího 'begin'

C28282

Řetězce formátu musí být ve vstupních podmínkách

C28285

Chyba syntaxe v parametru funkce

C28286

Chyba syntaxe poblíž konce funkce

C28287

Chyba syntaxe v poznámce _At_() pro funkci (název parametru nebyl rozpoznán)

C28288

Chyba syntaxe v poznámce _At_() pro funkci (neplatný název parametru)

C28289

ReadableTo nebo WritableTo pro funkci nemá parametr limit-spec

C28290

Poznámka pro funkci obsahuje více externích typů než skutečný počet parametrů

C28291

Zapsání null/notnull je pro deref na úrovní 0 pro funkci bezvýznamné.

C28300

Operandy výrazu nejsou kompatibilních typů pro operátor

C28301

Žádné poznámky pro první deklaraci funkce.

C28302

Na poznámce byl nalezen nadbytečný operátor _Deref_.

C28303

V poznámce byl nalezen nejednoznačný operátor _Deref_.

C28304

Na token byl nesprávně umístěn operátor _Notref_.

C28305

Byla zjištěna chyba při analýze tokenu.

C28350

Poznámka popisuje situaci, která není podmíněně použitelná.

C28351

Poznámka popisuje, kde dynamickou hodnotu (proměnnou) nelze v podmínce použít.

CA1001

Typy, které vlastní uvolnitelná pole, by měly být uvolnitelné

CA1821

Odstraňte prázdné finalizační metody

CA2213

Uvolnitelná pole by měla být uvolněna

CA2231

Je třeba přetížit operátor rovnosti při přetížení ValueType.Equals