2014-04-01 109 views
1

我收到一個錯誤「無法初始化類型爲」const unsigned char *「的參數,其右值在下面的行中鍵入'value_type '(又名char)「。無法使用類型爲'value_type *'(aka char *)的右值初始化類型爲「const unsigned char *」的參數

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

緩衝區類型std::vector<char> *buffer

,並在&(buffer->front()上述錯誤的沒有任何人知道如何解決它?

+3

'unsigned char *'和'char *'是2種不同的類型。你能把'buffer'改成'std :: vector * buffer' – Jarod42

回答

3

的const是沒有問題的,但你需要轉換指針 - 這是一般不建議,但如果你沒有其他的選擇,你可以做下列操作之一

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

或純C風格

const unsigned char *b= (const unsigned char *)(a); 
相關問題