Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 1) C4905

široký řetězcový literál přetypován na 'LPSTR'

Kompilátor zjistil nebezpečný přetypování. Přetypování bylo úspěšné, ale měli byste použít rutinu převodu.

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

Příklad

Následující ukázka vygeneruje C4905.

// C4905.cpp
// compile with: /W1
#pragma warning(default : 4905)
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
    LPSTR y = (LPSTR)L"1234";   // C4905

    // try the following lines instead
    // wchar_t y[128];
    // size_t  sizeOfConverted;
    // errcode err = 0;
    //
    // err = mbstowcs_s(&sizeOfConverted, &y[0], 128, "12345", 4);
    // if (err != 0)
    // {
    //     printf_s("mbstowcs_s failed!");
    //     exit (-1);
    // }
    // wprintf(L"%s\n", y);

    return 0;
}