void OnReceived(std::shared_ptr<uint8_t> buffer, int len) {
.........
}
int main(){
std::vector<char> buffer(1000);
OnReceived((std::shared_ptr<uint8_t>)buffer.data(),rcvlen);
}
正在嘗試投射它但我不能知道爲什麼!無法將參數1從'char *'轉換爲'uint8_t *'
Error 1 error C2664: 'std::tr1::_Ptr_base<_Ty>::_Reset0' : cannot convert parameter 1 from 'char *' to 'uint8_t *' c:\program files\microsoft visual studio 10.0\vc\include\memory 1705
那麼我該如何轉換它?
也許'(std :: shared_ptr)(uint8_t *)buffer.data()'? –
ikegami
2011-05-25 22:34:10
類型的目的是爲了安全,其中你反正通過嘗試投射來擊敗目的。你應該嘗試理解每種類型的作用並以這種方式解決它,而不是試圖忽略它們。 – GManNickG 2011-05-25 23:10:59