【发布时间】:2019-05-15 04:48:12
【问题描述】:
我是使用Visual Studio 的新手,需要编译一个应用程序,但我收到错误:error C2440: '=': cannot convert from 'const char *' to 'LPCWSTR' 在线:
std::string open_file_dialog(
std::string title,
std::string filter)
{
char filename[MAX_PATH];
OPENFILENAME ofn;
ZeroMemory(&filename, sizeof(filename));
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = NULL;
ofn.lpstrFilter = filter.c_str();
ofn.lpstrFile = filename;
我相信这可能与我的项目设置有关,因为我正在查看的源代码应该按原样编译。但是,我不能 100% 确定。有谁能帮帮我吗?
【问题讨论】:
-
OPENFILENAME是什么,lpstrFilter的类型是什么? -
filter是如何声明的? -
那么它应该可以工作。我们可以得到minimal reproducible example吗?
-
你确定这条线吗?错误提示
strcpy。我在代码中没有看到strcpy。 -
这个问题已经被问了无数次了。请先做一些研究。这是one。和another one。和yet another one。这个清单还在继续。
标签: c++ winapi visual-studio-2015 lpcwstr