我有个函数用的参数是demo(char *xx)我调用的:CString yy = _T("dddddd");
demo(yy.getbuffer(0)) ;出现下面这错误。看看是什么原因。cannot convert parameter 1 from 'char *' to 'unsigned char *'
是不是必须这样
char * yy = new char[50];
yy = "dddddd";

解决方案 »

  1.   

    解决,原来不是那个东西的问题。赫赫,不过使用楼上的方法解决的。还有一个问题。我使用了一个,.LIB的库,出现这错误。看看DEMODlg.obj : error LNK2001: unresolved external symbol "void __cdecl DEMO(unsigned char *,unsigned long,unsigned long,char *)" (?DEMO@@YAXPAEKKPAD@Z)
    Debug/DEMO.exe : fatal error LNK1120: 1 unresolved externals
      

  2.   

    这个问题有可能是你在C中调用C++的函数了
    你在C++代码中把函数声明为C类型的就可以了
      

  3.   

    谢谢 楼上两位,问题解决。赫赫还有一个奇怪的地方。我有次编译的时候出现这个错误,Linker Tools Warning LNK4098
    defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library关闭了,打开,再编译一次就不见了。请指教。
      

  4.   

    这不是错误,这是警告。
    说连接库冲突了,
    你Rebuild All又会出现了。一般问题不大,程序还是能运行的。
    可以用指令 /NODEFAULTLIB:library 取消的。