Sdílet prostřednictvím


C4826 (úroveň 2) upozornění kompilátoru

Převod z 'typ1' na 'type_2' je znak extended.To může způsobit neočekávané runtime chování.

Toto upozornění označuje znak rozšíření kompilátor vykonávaná ukazatel 32 bit byl odevzdaných proměnné 64 bit.

POPISOVAČ typu windows bylo provedeno rozšíření, je bezpečné ignorovat upozornění.Pokud příponu byl proveden na typ ukazatele, upravte cast zabránit rozšíření znaménko (viz následující příklad).

C4826 je ve výchozím nastavení je vypnuto.Další informace naleznete v tématu Upozornění kompilátoru, která jsou ve výchozím nastavení vypnuté.

Příklad

Následující ukázka generuje C4826:

// C4826.cpp
// compile with: /W2 /c
#include <windows.h>
#pragma warning(default: 4826)

void * __ptr64 F1 (void * __ptr32 P ) {
   return (void * __ptr64)P;   // C4826
   // try the following line instead
   // return (void * __ptr64)(ULONGLONG)(ULONG)P;
}

void * __ptr64 F2 ( void * P ) {
   return (void * __ptr64)P;   // C4826
   // try the following line instead
   // return (void * __ptr64)(ULONGLONG)(ULONG)P;
}

unsigned __int64 F3r ( void * P ) {
   return (unsigned __int64)P;   // C4826
   // try the following line instead
   // return (unsigned __int64)(ULONGLONG)(ULONG)P;
}