我在调试模式下有代码:
OutputDebugString(_T("Element Name = ") + (Node->getParentElement() == NULL ? "null" : Node->getParentElement()->getName()) + _T("\n"));
//getname() type is CString and GetParentElement() type is CXMLElement
使用此代码,我得到以下错误: 错误C2110:' +' :无法添加两个指针。 我知道无法添加两个指针。
我应该使用什么API来清除此错误?
答案 0 :(得分:1)
您可以按照以下方式使用它:
TCHAR msgbuf[256]; //keep required size
sprintf(msgbuf, "The value is %s\n", charPtrVariable);
OutputDebugString(msgbuf);
答案 1 :(得分:1)
由于问题标有C++
,我建议使用stringstream:
#include <sstream>
//...
std::stringstream ss;
ss << "Element Name = "
<< (Node->getParentElement() == NULL ? "null" : Node->getParentElement()->getName())
<< std::endl;
OutputDebugString(ss.str().c_str());
答案 2 :(得分:0)
因为你不能将两个指针一起添加到连接字符串,所以你可以使用一个临时的CString
对象并附加到它:
CString tmp = _T("Element Name = ");
tmp += Node->getParentElement() == NULL ? "null" : Node->getParentElement()->getName();
tmp += _T("\n");
OutputDebugString(tmp);