查看单个帖子
旧 2009-05-06, 11:30 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】problem with odstrlen and wcschr

problem with odstrlen and wcschr
problem with odstrlen and wcschr
i'm using the latest dwgdirect 2.3 and i'm having a problem with the two functions odstrlen and wcschr. project is set to unicode. the code looks like this:
ptext and ptoken are both odchar*.
ptext = ptext + odstrlen(ptext) + 1;
ptoken = wcschr(ptext, odchar(';'));
error c2664: 'wcslen' : cannot convert parameter 1 from 'odchar *' to 'const wchar_t *' types pointed to are unrelated; conversion requires reinterpret_cast, c-style cast or function-style cast
error c2665: 'wcschr' : none of the 2 overloads could convert all the argument types
c:\program files\microsoft visual studio 8\vc\include\string.h(246): could be 'const wchar_t *wcschr(const wchar_t *,wchar_t)'
c:\program files\microsoft visual studio 8\vc\include\string.h(325): or 'wchar_t *wcschr(wchar_t *,wchar_t)'
it seems that if i type cast ptext for the function odstrlen((wchar_t*)ptext) like this that it fixes the first error. what i don't get is why would i need to do this? shouldn't odchar already be defined as wchar_t? is this really the solution to the problem or am i missing something? also what should i do about the second error? tia.
odchar is not wchar_t if /zc:wchar_t+ compiler switch is used (default for vc2005)
vladimir
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)