需要转换NSString* str
到char* ch
,这样做是为了将其当做函数的参数使用,str
是在UITextField
获取的。
void CUserSession::Login (char *pUsername, char *pPassword)
首先使用ch = [str UTF8String];
之后,
得到错误:
Cannot initialize a parameter of type 'char *' with an rvalue of type 'const char *'
后来改为这样ch = (const uint8_t *)[str UTF8String];
得到错误:
Cannot initialize a parameter of type 'char *' with an rvalue of type 'const uint8_t *' (aka 'const unsigned char *')
这个问题的原因是[str UTF8String]返回的是 const char * 的结果,
而Login函数接收的参数是char*类型的。
强制转化一下,将[str UTF8String]前面加上(char *)
可以的话应该将 void CUserSession::Login (char *pUsername, char *pPassword) 的参数声明为const,如果该函数不会去修改指针指向的值的话