我刚刚将Xcode的版本更新为5.1,并发生了此错误。我正在使用GPUImage库。这是一个截图。先谢谢你们!
答案 0 :(得分:9)
size_t
(大小类型)是对象大小(C对象,而不是Objective-C对象)和类型的整数类型。 size_t
个对象的大小(它占用的位数)取决于所使用的体系结构的指针大小。 int
个对象的大小(它占用的位数)与此无关,并且通常更小。因此,将类型size_t
的值分配给类型int
的变量可能会失败,如果该值大到适合size_t
对象的值,而不是一个int
对象。
您可以执行以下操作之一:
1同时制作bufferHeight
类型的变量bufferWidth
和size_t
。
2使变量bufferHeight
和bufferWidth
的积分类型至少与size_t
一样大,i。即long
或NSInteger
。 (这取决于您使用的架构。)
3错误消息警告您,如果更大类型的值存储无法用较小的类型表示,则较大类型的隐式转换将失败。如果您确定值(函数的结果)始终适合int
,请使转换显式。
int bufferHeight = (int)CVPixelBufferGetHeight(…);
BTW:如果屏幕截图的内容是文字,请不发布截图。请复制代码和错误消息。你可以复制&粘贴错误消息。