Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a szakasz a C++ alapvető irányelvek ellenőrző figyelmeztetéseit sorolja fel. További információ a kódelemzésről: /analyze (Kódelemzés) és rövid útmutató: C/C++ kódelemzés.
Megjegyzés:
Egyes figyelmeztetések több csoporthoz tartoznak, és nem minden figyelmeztetés rendelkezik teljes referenciatémakörrel.
OWNER_POINTER csoport
C26402 DONT_HEAP_ALLOCATE_MOVABLE_RESULT
Egy hatókörrel rendelkező objektumot ad vissza a halomelosztott helyett, ha áthelyezési konstruktort használ. Lásd: C++ Alapvető irányelvek R.3.
C26403 RESET_OR_DELETE_OWNER
Egy T mutató "változó" tulajdonosának>< alaphelyzetbe állítása vagy explicit törlése. Lásd: C++ Alapvető irányelvek R.3.
C26404 DONT_DELETE_INVALID
Ne törölje az érvénytelen állapotú T> tulajdonost<. Lásd: C++ Alapvető irányelvek R.3.
C26405 DONT_ASSIGN_TO_VALID
Ne rendeljen hozzá érvényes állapotú T> tulajdonost<. Lásd: C++ Alapvető irányelvek R.3.
C26406 DONT_ASSIGN_RAW_TO_OWNER
Ne rendeljen nyers mutatót egy T> tulajdonoshoz<. Lásd: C++ Alapvető irányelvek R.3.
C26407 DONT_HEAP_ALLOCATE_UNNECESSARILY
Előnyben részesítse a hatókörrel rendelkező objektumokat, ne foglalja le feleslegesen. Lásd: C++ Alapvető irányelvek R.5.
C26429 USE_NOTNULL
A szimbólum "szimbóluma" soha nem tesztelt null értékre, not_null jelölhető meg. Lásd: C++ Alapvető irányelvek F.23.
C26430 TEST_ON_ALL_PATHS
A szimbólum "szimbóluma" nem tesztelt null értéket minden útvonalon. Lásd: C++ Alapvető irányelvek F.23.
C26431 DONT_TEST_NOTNULL
Az "expr" kifejezés típusa már gsl::not_null. Ne tesztelje null értékre. Lásd: C++ Alapvető irányelvek F.23.
RAW_POINTER csoport
C26400 NO_RAW_POINTER_ASSIGNMENT
Ne rendelje hozzá a kiosztás vagy függvényhívás eredményét egy T> tulajdonossal<, és ne adjon vissza értéket egy nyers mutatóhoz; használja inkább a T> tulajdonost<. Lásd: C++ Alapvető irányelvek I.11.
C26401 DONT_DELETE_NON_OWNER
Ne töröljön olyan nyers mutatót, amely nem T tulajdonos<>. Lásd: C++ Alapvető irányelvek I.11.
C26402 DONT_HEAP_ALLOCATE_MOVABLE_RESULT
Egy hatókörrel rendelkező objektumot ad vissza a halomelosztott helyett, ha áthelyezési konstruktort használ. Lásd: C++ Alapvető irányelvek R.3.
C26408 NO_MALLOC_FREE
Kerülje a malloc() és a free() elemet, válassza az új nothrow verzióját a törléssel. Lásd: C++ Alapvető irányelvek R.10.
C26409 NO_NEW_DELETE
Ne hívja meg az újat, és törölje explicit módon, használja inkább az std::make_unique<T> parancsot. Lásd: C++ Alapvető irányelvek R.11.
C26429 USE_NOTNULL
A szimbólum "szimbóluma" soha nem tesztelt null értékre, not_null jelölhető meg. Lásd: C++ Alapvető irányelvek F.23.
C26430 TEST_ON_ALL_PATHS
A szimbólum "szimbóluma" nem tesztelt null értéket minden útvonalon. Lásd: C++ Alapvető irányelvek F.23.
C26431 DONT_TEST_NOTNULL
Az "expr" kifejezés típusa már gsl::not_null. Ne tesztelje null értékre. Lásd: C++ Alapvető irányelvek F.23.
C26481 NO_POINTER_ARITHMETIC
Ne használjon mutató aritmetikai elemet. Használja inkább a span parancsot. Lásd a C++ alapvető irányelveinek határértékeit.1.
C26485 NO_ARRAY_TO_POINTER_DECAY
"expr" kifejezés: Nincs olyan tömb, amely a mutató bomlását mutathatja. Lásd a C++ alapvető irányelveit, a Bounds.3-at.
UNIQUE_POINTER csoport
C26410 NO_REF_TO_CONST_UNIQUE_PTR
A paraméter egy egyedi mutatóra const mutató hivatkozás, helyette használjon const T* vagy const T> paramétert. Lásd: C++ Alapvető irányelvek R.32.
C26411 NO_REF_TO_UNIQUE_PTR
A paraméter egy egyedi mutatóra mutató hivatkozás, amely soha nem lesz hozzárendelve vagy visszaállítva, ehelyett használja a T* vagy a T> paramétert. Lásd: C++ Alapvető irányelvek R.33.
C26414 RESET_LOCAL_SMART_PTR
Helyi intelligens mutató "szimbólum" áthelyezése, másolása, újbóli hozzárendelése vagy alaphelyzetbe állítása. Lásd: C++ Alapvető irányelvek R.5.
C26415 SMART_PTR_NOT_NEEDED
A "symbol" intelligens mutatóparaméter csak a tartalmazott mutató eléréséhez használható. Használja inkább a T* vagy a T> elemet. Lásd: C++ Alapvető irányelvek R.30.
SHARED_POINTER csoport
C26414 RESET_LOCAL_SMART_PTR
Helyi intelligens mutató "szimbólum" áthelyezése, másolása, újbóli hozzárendelése vagy alaphelyzetbe állítása. Lásd: C++ Alapvető irányelvek R.5.
C26415 SMART_PTR_NOT_NEEDED
A "symbol" intelligens mutatóparaméter csak a tartalmazott mutató eléréséhez használható. Használja inkább a T* vagy a T> elemet. Lásd: C++ Alapvető irányelvek R.30.
C26416 NO_RVALUE_REF_SHARED_PTR
A "szimbólum" megosztott mutatóparamétert a rvalue-hivatkozás adja át. Adja át inkább érték szerint. Lásd: C++ Alapvető irányelvek R.34.
C26417 NO_LVALUE_REF_SHARED_PTR
A "szimbólum" megosztott mutatóparamétert hivatkozással továbbítja a rendszer, és nem állítja vissza vagy rendeli újra. Használja inkább a T* vagy a T> elemet. Lásd: C++ Alapvető irányelvek R.35.
C26418 NO_VALUE_OR_CONST_REF_SHARED_PTR
A "szimbólum" megosztott mutatóparaméter nincs másolva vagy áthelyezve. Használja inkább a T* vagy a T> elemet. Lásd: C++ Alapvető irányelvek R.36.
DEKLARÁCIÓS csoport
C26426 NO_GLOBAL_INIT_CALLS
A globális inicializáló egy nem constexpr függvényt "szimbólumnak" hív. Lásd: C++ Alapvető irányelvek I.22.
C26427 NO_GLOBAL_INIT_EXTERNS
A globális inicializáló hozzáfér a "szimbólum" extern objektumhoz. Lásd: C++ Alapvető irányelvek I.22.
C26444 NO_UNNAMED_RAII_OBJECTS
Kerülje a névtelen objektumokat egyéni építéssel és megsemmisítéssel. Lásd : ES.84: Ne deklaráljon (próbálja) név nélküli helyi változót deklarálni.
OSZTÁLYcsoport
C26432 DEFINE_OR_DELETE_SPECIAL_OPS
Ha bármilyen alapértelmezett műveletet definiál vagy töröl a "szimbólum" típusban, definiálja vagy törölje az összeset. Lásd: C++ Alapvető irányelvek C.21.
C26433 OVERRIDE_EXPLICITLY
A "szimbólum" függvényt felülbírálással kell megjelölni. Lásd : C.128: A virtuális függvények pontosan egy virtuális, felülbírálási vagy végleges értéket kell megadniuk.
C26434 DONT_HIDE_METHODS
A "symbol_1" függvény elrejti a nem virtuális "symbol_2" függvényt. Lásd: C++ Alapvető irányelvek C.128.
C26435 SINGLE_VIRTUAL_SPECIFICATION
A "szimbólum" függvénynek pontosan egy "virtuális", "felülbírálási" vagy "végleges" értéket kell megadnia. Lásd : C.128: A virtuális függvények pontosan egy virtuális, felülbírálási vagy végleges értéket kell megadniuk.
C26436 NEED_VIRTUAL_DTOR
A virtuális függvényhez tartozó "szimbólum" típusnak nyilvános vagy védett, nem virtuális destruktorra van szüksége. Lásd: C++ Alapvető irányelvek C.35.
C26443 NO_EXPLICIT_DTOR_OVERRIDE
A felülíró destruktor nem használhat explicit "felülbírálást" vagy "virtuális" meghatározót. Lásd : C.128: A virtuális függvények pontosan egy virtuális, felülbírálási vagy végleges értéket kell megadniuk.
STÍLUScsoport
C26438 NO_GOTO
Kerülje a goto-át. Lásd: C++ Alapvető irányelvek ES.76.
FÜGGVÉNYcsoport
C26439 SPECIAL_NOEXCEPT
Előfordulhat, hogy ez a fajta függvény nem dob kivételt. Deklarálja.noexcept Lásd: C++ Alapvető irányelvek F.6.
C26440 DECLARE_NOEXCEPT
A függvény "szimbóluma" deklarálható noexcept. Lásd: C++ Alapvető irányelvek F.6.
C26447 DONT_THROW_IN_NOEXCEPT
A függvény deklarálva noexcept van, de meghív egy függvényt, amely kivételeket okozhat.
Lásd : C++ Alapvető irányelvek: F.6: Ha a függvény nem dob, deklarálja noexcept.
EGYIDEJŰSÉGI csoport
C26441 NO_UNNAMED_GUARDS
Az őrobjektumokat el kell nevezni. Lásd: C++ Core Guidelines cp.44.
CONST-csoport
C26460 USE_CONST_REFERENCE_ARGUMENTS
A függvény "argumentuma" hivatkozási argumentuma megjelölhető .const Lásd: C++ Alapvető irányelvek con.3.
C26461 USE_CONST_POINTER_ARGUMENTS:
A függvény "argumentuma" mutatóargumentuma mutatóként jelölhető megconst. Lásd: C++ Alapvető irányelvek con.3.
C26462 USE_CONST_POINTER_FOR_VARIABLE
A "változó" által mutatott érték csak egyszer van hozzárendelve, és mutatóként jelöli meg.const Lásd: C++ Alapvető irányelvek con.4.
C26463 USE_CONST_FOR_ELEMENTS
A tömb elemei csak egyszer vannak hozzárendelve, az elemek constmegjelölése. Lásd: C++ Alapvető irányelvek con.4.
C26464 USE_CONST_POINTER_FOR_ELEMENTS
A tömb elemei által mutatott értékek csak egyszer vannak hozzárendelve, az elemeket mutatóként megjelölve.const Lásd: C++ Alapvető irányelvek con.4.
C26496 USE_CONST_FOR_VARIABLE
A "változó" változó csak egyszer van hozzárendelve, megjelöléseként const. Lásd: C++ Alapvető irányelvek con.4.
C26497 USE_CONSTEXPR_FOR_FUNCTION
Ezt a függvényfüggvényt megjelölheti constexpr , ha fordítási idő kiértékelése szükséges. Lásd: C++ Alapvető irányelvek F.4.
C26498 USE_CONSTEXPR_FOR_FUNCTIONCALL
Ez a függvényhívási függvény akkor használható constexpr , ha fordítási idő kiértékelése szükséges. Lásd: C++ Alapvető irányelvek con.5.
TÍPUScsoport
C26437 DONT_SLICE
Ne szeletelje. Lásd: C++ Alapvető irányelvek ES.63.
C26465 NO_CONST_CAST_UNNECESSARY
Ne használjon const_cast elűzésére const.
const_cast nincs szükség; az átalakítás nem távolítja el a konstanst vagy a volatilitást. Lásd: C++ Alapvető irányelvek típusa.3.
C26466 NO_STATIC_DOWNCAST_POLYMORPHIC
Ne használjon static_cast felhőbesítéseket. A polimorf típusból származó öntöttnek dynamic_cast kell használnia. Lásd: C++ Alapvető irányelvek típusa.2.
C26471 NO_REINTERPRET_CAST_FROM_VOID_PTR
Ne használja reinterpret_cast. A cast from void* használható static_cast. Lásd: C++ Alapvető irányelvek típusa.1.
C26472 NO_CASTS_FOR_ARITHMETIC_CONVERSION
Ne használjon static_cast számtani átalakításokat. Használjon kapcsos inicializálást, gsl::narrow_cast vagy gsl::keskeny. Lásd: C++ Alapvető irányelvek típusa.1.
C26473 NO_IDENTITY_CAST
Ne adjon át olyan mutatótípusokat, ahol a forrástípus és a céltípus megegyezik. Lásd: C++ Alapvető irányelvek típusa.1.
C26474 NO_IMPLICIT_CAST
Ne váltsa át a mutatótípusokat, ha az átalakítás implicit lehet. Lásd: C++ Alapvető irányelvek típusa.1.
C26475 NO_FUNCTION_STYLE_CASTS
Ne használjon C-öntött függvénystílust. Lásd: C++ Alapvető irányelvek ES.49.
C26490 NO_REINTERPRET_CAST
Ne használja reinterpret_cast. Lásd: C++ Alapvető irányelvek típusa.1.
C26491 NO_STATIC_DOWNCAST
Ne használjon static_cast felhőbesítéseket. Lásd: C++ Alapvető irányelvek típusa.2.
C26492 NO_CONST_CAST
Ne használjon const_cast elűzésére const. Lásd: C++ Alapvető irányelvek típusa.3.
C26493 NO_CSTYLE_CAST
Ne használjon C stílusú öntötteket. Lásd: C++ Alapvető irányelvek típusa.4.
C26494 VAR_USE_BEFORE_INIT
A 'változó' változó nincs inicializálva. Mindig inicializáljon egy objektumot. Lásd: C++ Alapvető irányelvek típusa.5.
C26495 MEMBER_UNINIT
A 'változó' változó nincs inicializálva. Mindig inicializáljon egy tagváltozót. Lásd: C++ Alapvető irányelvek típusa.6.
BOUNDS-csoport
C26446 USE_GSL_AT
Inkább a nem bejelölt alsó index operátor helyett használja gsl::at() . Lásd a C++ alapvető irányelveit: Bounds.4: Ne használjon standard kódtárfüggvényeket és olyan típusokat, amelyek nincsenek bejelölve.
C26481 NO_POINTER_ARITHMETIC
Ne használjon mutató aritmetikai elemet. Használja inkább a span parancsot. Lásd: C++ alapvető irányelvkorlátok.1
C26482 NO_DYNAMIC_ARRAY_INDEXING
Csak állandó kifejezéseket használó tömbökbe indexel. Lásd a C++ alapvető irányelveinek határértékeit.2
C26483 STATIC_INDEX_OUT_OF_RANGE
Az értéka változó (változó) korlátja (0, kötött) határain kívül esik. Csak olyan tömbökbe indexel, amelyek a tömbön belül lévő állandó kifejezéseket használnak. Lásd a C++ alapvető irányelveinek határértékeit.2
C26485 NO_ARRAY_TO_POINTER_DECAY
"expr" kifejezés: Nincs olyan tömb, amely a mutató bomlását mutathatja. Lásd: C++ alapvető irányelvkorlátok.3
GSL-csoport
C26445 NO_SPAN_REF
Egy életre vonatkozó probléma hivatkozása gsl::span vagy std::string_view jelzése lehet.
Lásd: C++ Alapvető irányelvek GSL.view: Nézetek
C26446 USE_GSL_AT
Inkább a nem bejelölt alsó index operátor helyett használja gsl::at() . Lásd a C++ alapvető irányelveit: Bounds.4: Ne használjon standard kódtárfüggvényeket és olyan típusokat, amelyek nincsenek bejelölve.
C26448 USE_GSL_FINALLY
Fontolja meg a végleges művelet használatát gsl::finally . Lásd a C++ alapvető irányelveit: GSL.util: Segédprogramok.
C26449 NO_SPAN_FROM_TEMPORARY
gsl::span vagy std::string_view egy ideiglenesből létrehozott rendszer érvénytelen lesz, ha az ideiglenest érvényteleníti. Lásd: C++ Alapvető irányelvek: GSL.view: Nézetek.
Elavult figyelmeztetések
Az alábbi figyelmeztetések az alapvető irányelvek ellenőrzőjének korai kísérleti szabálykészletében jelennek meg, de elavultak, és biztonságosan figyelmen kívül hagyhatók. A figyelmeztetéseket a fenti lista figyelmeztetései felülírják.
- 26412 DEREF_INVALID_POINTER
- 26413 DEREF_NULLPTR
- 26420 ASSIGN_NONOWNER_TO_EXPLICIT_OWNER
- 26421 ASSIGN_VALID_OWNER
- 26422 VALID_OWNER_LEAVING_SCOPE
- 26423 ALLOCATION_NOT_ASSIGNED_TO_OWNER
- 26424 VALID_ALLOCATION_LEAVING_SCOPE
- 26425 ASSIGNING_TO_STATIC
- 26499 NO_LIFETIME_TRACKING