Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I det här avsnittet visas C++ Core Guidelines Checker-varningar. Information om kodanalys finns i/analyze (Kodanalys) och Snabbstart: Kodanalys för C/C++.
Anmärkning
Vissa varningar tillhör mer än en grupp, och alla varningar har inte ett fullständigt referensavsnitt.
OWNER_POINTER grupp
C26402 DONT_HEAP_ALLOCATE_MOVABLE_RESULT
Returnera ett omfångsobjekt i stället för en heapallokerad om det har en flyttkonstruktor. Se C++ Core Guidelines R.3.
C26403 RESET_OR_DELETE_OWNER
Återställ eller ta uttryckligen bort en T-pekare för ägare<> . Se C++ Core Guidelines R.3.
C26404 DONT_DELETE_INVALID
Ta inte bort en ägare<T> som kan vara i ogiltigt tillstånd. Se C++ Core Guidelines R.3.
C26405 DONT_ASSIGN_TO_VALID
Tilldela inte till en ägare<T> som kan vara i giltigt tillstånd. Se C++ Core Guidelines R.3.
C26406 DONT_ASSIGN_RAW_TO_OWNER
Tilldela inte en rå pekare till en ägare<T>. Se C++ Core Guidelines R.3.
C26407 DONT_HEAP_ALLOCATE_UNNECESSARILY
Föredrar begränsade objekt, inte heap-allokera i onödan. Se C++ Core Guidelines R.5.
C26429 USE_NOTNULL
Symbolen "symbol" testas aldrig för nullitet, den kan markeras som not_null. Se C++ Core Guidelines F.23.
C26430 TEST_ON_ALL_PATHS
Symbolen "symbol" testas inte för nullitet på alla sökvägar. Se C++ Core Guidelines F.23.
C26431 DONT_TEST_NOTNULL
Typen av uttryck "expr" är redan gsl::not_null. Testa den inte för nullitet. Se C++ Core Guidelines F.23.
RAW_POINTER grupp
C26400 NO_RAW_POINTER_ASSIGNMENT
Tilldela inte resultatet av en allokering eller ett funktionsanrop med ett ägar-T-returvärde<> till en råpekare. Använd ägare<T> i stället. Se C++ Core Guidelines I.11.
C26401 DONT_DELETE_NON_OWNER
Ta inte bort en råpekare som inte är en ägare<T>. Se C++ Core Guidelines I.11.
C26402 DONT_HEAP_ALLOCATE_MOVABLE_RESULT
Returnera ett omfångsobjekt i stället för en heapallokerad om det har en flyttkonstruktor. Se C++ Core Guidelines R.3.
C26408 NO_MALLOC_FREE
Undvik malloc() och free(), föredrar nothrow-versionen av new med delete. Se C++ Core Guidelines R.10.
C26409 NO_NEW_DELETE
Undvik att anropa nytt och ta bort explicit, använd std::make_unique<T> i stället. Se C++ Core Guidelines R.11.
C26429 USE_NOTNULL
Symbolen "symbol" testas aldrig för nullitet, den kan markeras som not_null. Se C++ Core Guidelines F.23.
C26430 TEST_ON_ALL_PATHS
Symbolen "symbol" testas inte för nullitet på alla sökvägar. Se C++ Core Guidelines F.23.
C26431 DONT_TEST_NOTNULL
Typen av uttryck "expr" är redan gsl::not_null. Testa den inte för nullitet. Se C++ Core Guidelines F.23.
C26481 NO_POINTER_ARITHMETIC
Använd inte pekararitmetik. Använd span i stället. Se C++ Core Guidelines Bounds.1.
C26485 NO_ARRAY_TO_POINTER_DECAY
Uttrycket "expr": Ingen matris för pekarens sönderfall. Se C++ Core Guidelines Bounds.3.
UNIQUE_POINTER grupp
C26410 NO_REF_TO_CONST_UNIQUE_PTR
Parametern parameter är en referens till const unik pekare, använd const T* eller const T& i stället. Se C++ Core Guidelines R.32.
C26411 NO_REF_TO_UNIQUE_PTR
Parametern parameter är en referens till unik pekare och den tilldelas aldrig om eller återställs, använd T* eller T& i stället. Se C++ Core Guidelines R.33.
C26414 RESET_LOCAL_SMART_PTR
Flytta, kopiera, omtilldela eller återställa en lokal smart pekare symbol. Se C++ Core Guidelines R.5.
C26415 SMART_PTR_NOT_NEEDED
Parametern "symbol" för smart pekare används endast för att komma åt innesluten pekare. Använd T* eller T& i stället. Se C++ Core Guidelines R.30.
SHARED_POINTER grupp
C26414 RESET_LOCAL_SMART_PTR
Flytta, kopiera, omtilldela eller återställa en lokal smart pekare symbol. Se C++ Core Guidelines R.5.
C26415 SMART_PTR_NOT_NEEDED
Parametern "symbol" för smart pekare används endast för att komma åt innesluten pekare. Använd T* eller T& i stället. Se C++ Core Guidelines R.30.
C26416 NO_RVALUE_REF_SHARED_PTR
Den delade pekarparametern "symbol" skickas av rvalue-referensen. Skicka efter värde i stället. Se C++ Core Guidelines R.34.
C26417 NO_LVALUE_REF_SHARED_PTR
Den delade pekarparametern "symbol" skickas med referens och återställs inte eller tilldelas om. Använd T* eller T& i stället. Se C++ Core Guidelines R.35.
C26418 NO_VALUE_OR_CONST_REF_SHARED_PTR
Den delade pekarparametern "symbol" kopieras inte eller flyttas inte. Använd T* eller T& i stället. Se C++ Core Guidelines R.36.
DEKLARATIONsgrupp
C26426 NO_GLOBAL_INIT_CALLS
Global initiator anropar en icke-constexpr-funktion "symbol". Se C++ Core Guidelines I.22.
C26427 NO_GLOBAL_INIT_EXTERNS
Global initializer använder externt objekt "symbol". Se C++ Core Guidelines I.22.
C26444 NO_UNNAMED_RAII_OBJECTS
Undvik namnlösa objekt med anpassad konstruktion och förstörelse. Se ES.84: Deklarera inte (försök att) deklarera en lokal variabel utan namn.
KLASSgrupp
C26432 DEFINE_OR_DELETE_SPECIAL_OPS
Om du definierar eller tar bort en standardåtgärd i typen "symbol" definierar eller tar du bort alla. Se C++ Core Guidelines C.21.
C26433 OVERRIDE_EXPLICITLY
Funktionen "symbol" ska markeras med "åsidosättning". Se C.128: Virtuella funktioner bör ange exakt en av virtuella, åsidosättning eller slutgiltiga.
C26434 DONT_HIDE_METHODS
Funktionen "symbol_1" döljer en icke-virtuell funktion "symbol_2". Se C++ Core Guidelines C.128.
C26435 SINGLE_VIRTUAL_SPECIFICATION
Funktionen "symbol" ska ange exakt en av "virtuell", "åsidosättning" eller "slutlig". Se C.128: Virtuella funktioner bör ange exakt en av virtuella, åsidosättning eller slutgiltiga.
C26436 NEED_VIRTUAL_DTOR
Typen "symbol" med en virtuell funktion behöver antingen offentlig virtuell eller skyddad icke-virtuell destructor. Se C++ Core Guidelines C.35.
C26443 NO_EXPLICIT_DTOR_OVERRIDE
Åsidosättande destructor bör inte använda explicita "åsidosättning" eller "virtuella" specificerare. Se C.128: Virtuella funktioner bör ange exakt en av virtuella, åsidosättning eller slutgiltiga.
FORMATGRUPP
C26438 NO_GOTO
Undvik goto. Se C++ Core Guidelines ES.76.
FUNKTIONsgrupp
C26439 SPECIAL_NOEXCEPT
Den här typen av funktion kan inte utlösas. Deklarera det noexcept. Se C++ Core Guidelines F.6.
C26440 DECLARE_NOEXCEPT
Funktionen "symbol" kan deklareras noexcept. Se C++ Core Guidelines F.6.
C26447 DONT_THROW_IN_NOEXCEPT
Funktionen deklareras noexcept men anropar en funktion som kan utlösa undantag.
Se C++ Core Guidelines: F.6: Om funktionen inte kan utlösas deklarerar du den som ett undantag.
SAMTIDIGHETsgrupp
C26441 NO_UNNAMED_GUARDS
Skyddsobjekt måste namnges. Se C++ Core Guidelines cp.44.
CONST-grupp
C26460 USE_CONST_REFERENCE_ARGUMENTS
Referensargumentet "argument" för funktionen "function" kan markeras som const. Se C++ Core Guidelines con.3.
C26461 USE_CONST_POINTER_ARGUMENTS:
Pekarargumentet "argument" för funktionen "function" kan markeras som en pekare till const. Se C++ Core Guidelines con.3.
C26462 USE_CONST_POINTER_FOR_VARIABLE
Värdet som pekas på av "variabel" tilldelas bara en gång, markera det som en pekare till const. Se C++ Core Guidelines con.4.
C26463 USE_CONST_FOR_ELEMENTS
Elementen i matrisens matris tilldelas bara en gång, markera element const. Se C++ Core Guidelines con.4.
C26464 USE_CONST_POINTER_FOR_ELEMENTS
De värden som pekas på av element i matrisen "matris" tilldelas bara en gång, markera element som pekare till const. Se C++ Core Guidelines con.4.
C26496 USE_CONST_FOR_VARIABLE
Variabeln "variabel" tilldelas bara en gång och markerar den som const. Se C++ Core Guidelines con.4.
C26497 USE_CONSTEXPR_FOR_FUNCTION
Den här funktionsfunktionen kan markeras constexpr om kompileringstidsutvärdering önskas. Se C++ Core Guidelines F.4.
C26498 USE_CONSTEXPR_FOR_FUNCTIONCALL
Den här funktionsanropsfunktionen kan användas constexpr om kompileringstidsutvärdering önskas. Se C++ Core Guidelines con.5.
TYPGRUPP
C26437 DONT_SLICE
Dela inte ut. Se C++ Core Guidelines ES.63.
C26465 NO_CONST_CAST_UNNECESSARY
Använd inte const_cast för att kasta bort const.
const_cast krävs inte. beständighet eller volatilitet tas inte bort av den här konverteringen. Se C++ Core Guidelines Type.3.
C26466 NO_STATIC_DOWNCAST_POLYMORPHIC
Använd inte static_cast nedslagna. En gjuten från en polymorf typ bör använda dynamic_cast. Se C++ Core Guidelines Type.2.
C26471 NO_REINTERPRET_CAST_FROM_VOID_PTR
Använd inte reinterpret_cast. En gjuten från void* kan använda static_cast. Se C++ Core Guidelines Type.1.
C26472 NO_CASTS_FOR_ARITHMETIC_CONVERSION
Använd inte en static_cast för aritmetiska konverteringar. Använd klammerparentesinitiering, gsl::narrow_cast eller gsl::narrow. Se C++ Core Guidelines Type.1.
C26473 NO_IDENTITY_CAST
Kasta inte mellan pekartyper där källtypen och måltypen är desamma. Se C++ Core Guidelines Type.1.
C26474 NO_IMPLICIT_CAST
Kasta inte mellan pekartyper när konverteringen kan vara implicit. Se C++ Core Guidelines Type.1.
C26475 NO_FUNCTION_STYLE_CASTS
Använd inte C-casts i funktionsformat. Se C++ Core Guidelines ES.49.
C26490 NO_REINTERPRET_CAST
Använd inte reinterpret_cast. Se C++ Core Guidelines Type.1.
C26491 NO_STATIC_DOWNCAST
Använd inte static_cast nedslagna. Se C++ Core Guidelines Type.2.
C26492 NO_CONST_CAST
Använd inte const_cast för att kasta bort const. Se C++ Core Guidelines Type.3.
C26493 NO_CSTYLE_CAST
Använd inte gjutningar i C-stil. Se C++ Core Guidelines Type.4.
C26494 VAR_USE_BEFORE_INIT
Variabeln "variabel" är onitialiserad. Initiera alltid ett objekt. Se C++ Core Guidelines Type.5.
C26495 MEMBER_UNINIT
Variabeln "variabel" är onitialiserad. Initiera alltid en medlemsvariabel. Se C++ Core Guidelines Type.6.
BOUNDS-grupp
C26446 USE_GSL_AT
Föredrar att använda gsl::at() i stället för omarkerad nedsänkt operator. Se C++ Core Guidelines: Bounds.4: Använd inte standardbiblioteksfunktioner och typer som inte är gränskontrollerade.
C26481 NO_POINTER_ARITHMETIC
Använd inte pekararitmetik. Använd span i stället. Se C++ Core Guidelines Bounds.1
C26482 NO_DYNAMIC_ARRAY_INDEXING
Indexera endast i matriser med konstanta uttryck. Se C++ Core Guidelines Bounds.2
C26483 STATIC_INDEX_OUT_OF_RANGE
Värdevärdet ligger utanför gränserna (0, bindning) för variabeln "variable". Indexera endast i matriser med konstanta uttryck som ligger inom matrisens gränser. Se C++ Core Guidelines Bounds.2
C26485 NO_ARRAY_TO_POINTER_DECAY
Uttrycket "expr": Ingen matris för pekarens sönderfall. Se C++ Core Guidelines Bounds.3
GSL-grupp
C26445 NO_SPAN_REF
En referens till gsl::span eller std::string_view kan vara en indikation på ett livstidsproblem.
Se C++ Core Guidelines GSL.view: Views
C26446 USE_GSL_AT
Föredrar att använda gsl::at() i stället för omarkerad nedsänkt operator. Se C++ Core Guidelines: Bounds.4: Använd inte standardbiblioteksfunktioner och typer som inte är gränskontrollerade.
C26448 USE_GSL_FINALLY
Överväg att använda gsl::finally om den slutliga åtgärden är avsedd. Se C++ Core Guidelines: GSL.util: Utilities.
C26449 NO_SPAN_FROM_TEMPORARY
gsl::span eller std::string_view skapas från en tillfällig kommer att vara ogiltig när den tillfälliga är ogiltig. Se C++ Core Guidelines: GSL.view: Views( C++ Core Guidelines: GSL.view: Views).
Inaktuella varningar
Följande varningar finns i en tidig experimentell regeluppsättning i kontrollverktyget för grundläggande riktlinjer, men är nu inaktuella och kan ignoreras på ett säkert sätt. Varningarna ersätts av varningar från listan ovan.
- 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