Saf*_*ari 1 c++ copy vector std
我有个问题:
如果我有:
void test (std::vector<int> *original)
{
myvector = vector<int>();
myvector.reserve(&original.size());
copy(original.begin(),original.end(),back_inserter(myvector));
}
Run Code Online (Sandbox Code Playgroud)
我想在原始目标矢量中复制一个矢量
我有3个错误:
错误1错误C2228:'.size'的左边必须有class/struct/union
错误2错误C2228:'.begin'左边必须有class/struct/union
错误3错误C2228:'.end'左边必须有类/结构/联合
为什么???
注意,这original
是一个指针.你必须像这样写:
void test (std::vector<int> *original)
{
myvector = vector<int>();
myvector.reserve(original->size());
copy(original->begin(), original->end(), back_inserter(myvector));
}
Run Code Online (Sandbox Code Playgroud)
指针被解除引用->
,而不是.
.&
意思是"取地址".