invalid conversion from ‘unsigned char*’ to ‘const char*’解决办法

invalid conversion from ‘unsigned char*’ to ‘const char*’

strncpy(result,reinterpret_cast<const char *>(ascii),strlen(ascii));
没有用,,


前面定义 unsigned char ascii[10];
这个函数主要做字符变换成ASCII码的格式,,
小菜鸟一个,求指点,,
(GCC通过编译,G++不可以)

invalid conversion from ‘unsigned char*’ to ‘const char*’解决办法

------解决方案--------------------
参数类型不匹配
------解决方案--------------------
1. 

char const* t = reinterpret_cast<char*>(static_cast<unsigned char*>(ascii));
strncpy(result,t,sizeof(ascii));


2. 

//unsigned char ascii[10];
 char ascii[10];

------解决方案--------------------
引用:
Quote: 引用:

1. 

char const* t = reinterpret_cast<char*>(static_cast<unsigned char*>(ascii));
strncpy(result,t,sizeof(ascii));


2. 

//unsigned char ascii[10];
 char ascii[10];

没用呀,,

同样的问题?别的问题?
------解决方案--------------------

        unsigned char ascii[10] = {0};
//...
char szBuf[128] = {0};
memcpy(szBuf,ascii,10);

这样不一了百了...