std::map<char, wchar_t>我正在尝试使用C++ 中的数据类型创建一个变量。当我尝试此操作时,Visual Studio 给出以下构建错误:
\n\nC2440“初始化”:无法从“初始化列表”转换为“std::map<char,wchar_t,std::less<char>,std::allocator<std::pair<const char,wchar_t>>>”
\n
wchar_t当是键数据类型和char是值数据类型时也会发生同样的错误。
您可以通过运行以下代码来复制此错误:
\nconst std::map<char, wchar_t> UNICODE_MAP = {\n { 'X', L"\xe2\x96\x88" },\n { 'G', L"\xe2\x96\x93" },\n { 'O', L"\xe1\x97\xa3" },\n { 'P', L"\xe1\x97\xa4" }\n};\nRun Code Online (Sandbox Code Playgroud)\n如何制作一个以键为 a char、以值作为wchar_t数据类型的映射?
我正在尝试用 C++ 播放声音。当我使用 PlaySound() 函数时,Visual Studio 给出 100 多个编译错误(我知道这一点是因为编译器在出现 100 个错误时停止)。下面是我的代码:
#include <mmsystem.h>
#include <windows.h>
int main()
{
bool played = PlaySound(TEXT("sound.wav"), NULL, SND_SYNC);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Visual Studio 的 linter 也给出了错误:
identifier PlaySoundW is undefined
Run Code Online (Sandbox Code Playgroud)
这是编译输出:
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(94,30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(94,21): error C2146: syntax error: missing ';' before identifier 'MMVERSION'
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\mmsyscom.h(98,32): error C4430: missing type specifier - int assumed. …Run Code Online (Sandbox Code Playgroud)