0

初学 oc,混合 c++ 编写一个工具类,
因为 oc 可以跟 c++ 混编,所以有了这个想法,是否可以在 c++ 中调用 oc 的块呢?

c++ 头文件定义了块

typedef void (^fetched_block)(const unsigned char *data, size_t size);

调用写成这样

fetched((const unsigned char *)data, size);

运行时毫不留情的给了 EXC_BAD_ACCESS

1个回答

0

你的block copy了吗?默认不在全局范围定义的block都会被初始化为栈block类型,copy之后就会被复制到堆上。如果你在栈作用域之外调用栈上的block就等于是在非法访问内存了。

撰写答案