Cpp-Kernrichtlinien: „const char *“ zu „const uint8_t *“ ohne reinterpret_cast und C-Style-Cast?C++

Programme in C++. Entwicklerforum
Anonymous
 Cpp-Kernrichtlinien: „const char *“ zu „const uint8_t *“ ohne reinterpret_cast und C-Style-Cast?

Post by Anonymous »

Für Code wie diesen:

Code: Select all

#include 

extern const char *f();
extern void g(const uint8_t *);

int main()
{
const char *p = f();
g(reinterpret_cast(p));
}

Code: Select all

clang-tidy -checks='cppcoreguidelines-*'
generiert eine Warnung:

Code: Select all

do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast]
und tatsächlich gibt es einen solchen Absatz in CppCoreGuidelines.
Aber wie ist es möglich, reinterpret_cast oder C-Style-Cast für Fälle wie const char * -> const uint8_t * zu vermeiden?
Ist dieser Fehler in CppCoreGuidelines?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post