我正在尝试重用另一个项目的代码,但是在复制类时,它在新项目中生成了编译器错误,但是当它在另一个项目中时,它工作得很好。
错误是
Cannot initialize a parameter of type 'const uint8_t *' (aka 'const unsigned char *') with an rvalue of type 'const void *'
代码是
[outputStream write:[userdata bytes] maxLength:[userdata length]];
outputStream 是一个 NSOutputStream,userdata 是一个 NSData 对象。 两个项目都使用围绕此语句的相同代码。
这两个项目都针对相同的目标操作系统 (iOS 5.0) 和架构 (armv7) 进行编译,并且都添加了相同的框架。
我还尝试清理项目,然后重新构建它。同样的问题。
如有任何帮助,我们将不胜感激。
最佳答案
最后,通过转换解决了这个问题:
[outputStream write:(const uint8_t *)[userdata bytes] maxLength:[userdata length]];
然后是清理和构建(如果不清理,会出现不同的错误。)
关于objective-c - 相同的代码在一个项目中产生错误,但不会在另一个项目中产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9039912/