gpt4 book ai didi

C++ C2440 错误,无法从 'std::_String_iterator<_Elem,_Traits,_Alloc>' 转换为 'LPCTSTR'

转载 作者:行者123 更新时间:2023-11-28 00:08:52 27 4
gpt4 key购买 nike

不幸的是,我的任务是编译一个旧的 C++ DLL,以便它可以在 Win 7 64 位机器上运行。我的 C++ 经验为零。我已经解决了其他问题,但是这个问题难倒了我,我还没有在其他地方找到解决方案。以下代码引发 C2440 编译器错误。

错误:“错误 C2440:‘’:无法从‘std::_String_iterator<_Elem,_Traits,_Alloc>’转换为‘LPCTSTR’”

代码:

#include "StdAfx.h"
#include "Antenna.h"
#include "MyTypes.h"
#include "objbase.h"

const TCHAR* CAntenna::GetMdbPath()
{
if(m_MdbPath.size() <= 0) return NULL;
return LPCTSTR(m_MdbPath.begin());
}

“m_MdbPath”在 Antenna.h 文件中定义为 字符串 m_MdbPath;

任何人可以提供的帮助或指导都将非常有帮助。先感谢您。如果需要,我很乐意提供有关代码的更多详细信息。

最佳答案

std::string 有一个 .c_str() 成员函数,它应该可以完成您要查找的内容。它将返回一个 const char*(const wchar_t* with std::wstring)。 std::string 也有一个 empty() 成员函数,我建议使用 nullptr 而不是 NULL 宏。

const TCHAR* CAntenna::GetMdbPath()
{
if(m_MdbPath.empty()) return nullptr;
return m_MdbPath.c_str();
}

关于C++ C2440 错误,无法从 'std::_String_iterator<_Elem,_Traits,_Alloc>' 转换为 'LPCTSTR',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34094344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com