错误C2440:'初始化':无法从'const wchar_t [9]'转换为'LPCSTR'

时间:2010-04-24 22:48:43

标签: c++ c directx

当我在代码中添加以下内容时。

// Define the input layout
D3D10_INPUT_ELEMENT_DESC layout[] =
{
    { L"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },  
};
UINT numElements = sizeof(layout)/sizeof(layout[0]);

我收到以下错误

1>c:\users\numerical25\desktop\intro todirectx\msdntutorials\tutorial0\tutorial\tutorial\main.cpp(43) : error C2440: 'initializing' : cannot convert from 'const wchar_t [9]' to 'LPCSTR'

错误直接指向该行代码。如果我删除代码,一切都正确编译。

1 个答案:

答案 0 :(得分:5)

问题是D3D10_INPUT_ELEMENT_DESC的第一个元素需要const char *,而不是const wchar_t *。只需删除字符串前的L即可。