很困惑的一个有关问题:同样是TextOut(5,5,"hello"),同样是vs2005,为什么在不同的程序编译一个正常,一个出错

很困惑的一个问题:同样是TextOut(5,5,"hello"),同样是vs2005,为什么在不同的程序编译一个正常,一个出错?
在vs2005新建一个sdi文档中的view里的ondraw函数不可以执行pDC->TextOut(5,5,"hello");该语句,编译无法通过。
而我的一个vc6程序经过升级到2005之后,同样在该程序的view的ondraw函数中加入pDC->TextOut(5,5,"hello");编译通过并执行。



------解决方案--------------------
作为菜鸟,我遇到过忘记把参数pDC的注释去掉。。
------解决方案--------------------
探讨
不是pDC这个问题
而是TextOut(5,5,"hello");在VC2005中后面是一个引用参数即:string & strText
而“hello”只是一个临时变量,无法引用。

必须定义一个string str=“hello”;
然后pDC->TextOut(5,5,str);
如此在VC2005中才ok

对于VC6,这个pDC->TextOut(5,5,"hello");没有问题

可是我纳闷的是我VC6中有很多这种用法,升级到VS2005,编译上却并没有出错,而是支持的,真奇怪!

------解决方案--------------------
pDC->TextOut(5,5,_T("hello"))
------解决方案--------------------
楼上说的对,VC6下默认是窄字节(BYTE),VC2005下默认是宽字节(wchar_t),所以 "Hello"改成 _T"Hello"或者 L"Hello"就可以了。
------解决方案--------------------
加了L可以通过,_T通不过。
------解决方案--------------------
因为在VS2005新建工程上时,第二项,还是第三项上有提示问要不要选unicode库,我忘了具体在那项;
新建时不要直接点击完成 ,可一步一步看!