我有一个函数需要一个指向向量类型的指针uint16_t
。这个函数用数据填充向量。我也有应该保存数据的对象,但是以类型向量的形式uint8_t
。我的代码如下所示:
void fill1(vector<uint16_t> *data);
void fill2(vector<uint64_t> *data);
class Object
{
uint32_t data_depth;
vector<uint8_t> data;
}
Object object1;
object1.data_depth = 16;
fill1((vector<uint16_t>*) &object1.data);
Object object2;
object2.data_depth = 64;
fill2(vector<uint64_t>*) &object2.data);
// somewhere later in the code
if (object1.data_depth == 16)
vector<uin16_t> * v = (vector<uint16_t>)(&objec1.data);
是不是不同类型向量指针转换的保存方式?