无法初始化类型" const unsigned char *"的参数。 rvalue类型' value_type *' (又名char *)

时间:2014-04-01 12:02:40

标签: c++ c cocos2d-x

我收到错误“无法在以下行中初始化类型为”const unsigned char *“的参数,其值为'value_type '(也就是char )的rvalue。

image->initWithImageData(&(buffer->front()),buffer->size());

缓冲区的类型为std::vector<char> *buffer

以及&(buffer->front()上面的错误是否有人知道如何修复它?

1 个答案:

答案 0 :(得分:3)

const不是问题,但你需要施放指针 - 一般不建议这样做但如果你没有其他选择,你可以做以下其中一种

char *a = buffer->data();
const unsigned  char *b= reinterpret_cast<unsigned char *>(a);

或普通C风格

const unsigned  char *b= (const unsigned  char *)(a);