C++ Je suis nouveau Unreal Engine, et je suis en train de déclarer une fonction inline
comme suit:Inlining la macro UnrealEngine UE_LOG avec
void inline Print(const char* s) {
UE_LOG(LogTemp, Warning, TEXT("%s"), s);
}
Afin d'éviter l'appel à UE_LOG
avec LogTemp
et Warning
à chaque fois. Lorsque vous appelez par exemple Print("Hello")
, la sortie est LogTemp:Warning: 效汬o
.
Ma conjecture est quelque chose lié à l'encodage ASCII, mais je ne suis pas vraiment sûr.
J'ai aussi essayé d'utiliser reinterpret_cast
comme suit:
void inline Print(const char* s) {
UE_LOG(LogTemp, Warning, TEXT("%s"), reinterpret_cast<const TCHAR *>(s));
}
mais a fini avec les mêmes résultats. Je voudrais savoir la bonne façon de le faire (je ne voulais pas utiliser MACRO sur func en ligne), et s'il y a une explication simple à quelle est la raison de la sortie du charabia, ce sera aussi très utile.