问题描述
- 转换UITextField ( field.text) NSString *
-
需要转换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,如果该函数不会去修改指针指向的值的话
时间: 2024-11-03 04:51:54