- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不幸的是,我的任务是编译一个旧的 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/
代码 A: vector::const_reverse_iterator rcit; vector::const_reverse_iterator tit=v.rend(); for(rcit = v
问题是遍历一个段落,直到遇到一个空行。 这是给我标题中提到的错误的代码 #include #include #include int main() { using namespace s
我在 MS visual studio 2005 的 Windows 上运行 Openipmp 客户端。尽管根据文档,它仅在 visual studio 6 和 MS visual studio .N
不幸的是,我的任务是编译一个旧的 C++ DLL,以便它可以在 Win 7 64 位机器上运行。我的 C++ 经验为零。我已经解决了其他问题,但是这个问题难倒了我,我还没有在其他地方找到解决方案。以下
将 VC6 代码迁移到 VS2008 时出现以下错误。此代码在 VC6 中运行良好,但在 VC9 中会出现编译错误。我知道这是因为编译器的破坏性变化。问题是什么,我该如何解决? error C2440
我收到以下错误: error C2440: 'type cast' : cannot convert from 'std::_Vector_iterator' to 'DWORD' w
我遇到编译错误, required from 'std::pair, bool> std::_Rb_tree::_M_insert_unique(_Arg&&) [with _Arg = Soluti
我无法将元素插入 vector 。 void Addvec(const vector &v) { int num{}; cout>num; v.push_back(num);
我是一名优秀的程序员,十分优秀!