【发布时间】:2016-05-17 12:40:26
【问题描述】:
我有一点 C++ 问题。我不断收到同样的错误,我不知道该怎么办。
vector<wstring> files;
if (ListFiles(L"C:", L"*.txt", files)) {
for (vector<wstring>::iterator it = files.begin(); it != files.end(); ++it) {
DoSomethingWithIt(it->c_str(), false);
}
}
是代码。
这是我得到的错误:
“const wchar_t *”类型的参数与“LPTSTR”类型的参数不兼容
错误在于代码中的 it->c_str() 部分。有谁知道如何解决这个问题并使我想要的工作?
【问题讨论】:
-
DoSomethingWithIt的函数定义是什么? -
DoSomethingWithIt需要一个非常量指针,但您提供的是一个 const 指针。 -
尝试将
it->c_str()切换为&((*it)[0]):) -
@Joker_vD,最好做一个可以在代码审查中找到和解释的演员表,而不是应用只写代码。
-
如果您不确定自己在做什么,请不要抛弃
const。修复DoSomethingWithIt以获取const char*。
标签: c++