【发布时间】:2015-04-23 11:18:14
【问题描述】:
我在调用png_read_image 时不断收到Access violation writing location 0x.... 错误。这是我的代码
unsigned int bytesPerRow = png_get_rowbytes(_pngPtr, _pngInfoPtr);
_pixels = new unsigned char[bytesPerRow * _height];
png_read_image(_pngPtr, &_pixels);
请注意,png_read_info 之前已成功调用过。
我无法弄清楚我做错了什么。文档没有说明该函数有什么有趣的地方,所以它不应该太复杂。
【问题讨论】:
-
因为
&_pixels是指针的地址,即指向指针的指针,所以它相当于一个png_bytep row_pointers[1](只有1个指针)而不是预期的png_bytep row_pointers[height].