我想使用 memcpy 填充一个结构。
结构声明如下:
struct udtFeatures
{
vector<unsigned char>ByteFeatures;
};
这就是我想填充字节的地方:
void clsMapping::FeedFeaturesFromMap(udtFeatures &uFeatures,int uOtherIndex)
{
int iBytePos=this->Content()[uOtherIndex].ByteStart;
int iByteCount=this->Content()[uOtherIndex].ByteCount;
memcpy(uFeatures.ByteFeatures, &((char*)(m_pVoiceData))[iBytePos],iByteCount);
}
但是 memcpy 不喜欢这样。
编译器说:
找不到匹配的转换函数
std::vector<unsigned char, std::allocator<unsigned char>> in void *.
我猜是因为它 .ByteFeatures 只是一个指针?
我怎么能这样做?