Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+中的向量类型转换+;_C++ - Fatal编程技术网

C++ C+中的向量类型转换+;

C++ C+中的向量类型转换+;,c++,C++,如何将RepeatedField转换为const std::vector?这应该很容易,因为重复字段充当容器: void foo(RepeatedField<google::protobuf::uint32> const & f) { std::vector<double> v(f.begin(), f.end()); // use v } void foo(RepeatedField const&f) { 向量v(f.begin(),f.en

如何将
RepeatedField
转换为
const std::vector

这应该很容易,因为重复字段充当容器:

void foo(RepeatedField<google::protobuf::uint32> const & f)
{
    std::vector<double> v(f.begin(), f.end());

    // use v
}
void foo(RepeatedField const&f)
{
向量v(f.begin(),f.end());
//使用v
}

这应该很容易,因为重复的字段充当容器:

void foo(RepeatedField<google::protobuf::uint32> const & f)
{
    std::vector<double> v(f.begin(), f.end());

    // use v
}
void foo(RepeatedField const&f)
{
向量v(f.begin(),f.end());
//使用v
}

从RepeatedField中删除每个元素并将其放入向量中应该会起作用。@BenjaminBanner:所有(u)int32值都可以精确地存储在一个double中。从RepeatedField中删除每个元素并将其放入向量中应该会起作用。@BenjaminBannier:All(u)int32值可以精确地存储在一个double中@KarolyHorvath解决方案是WLOG。我得到这个错误“表达式向量迭代器+偏移量超出范围”是。。。它执行得很好,但在某一点上抛出了这个错误。@Dosti:那么您在其他地方有一个错误,与
RepeatedField
@KarolyHorvath的迭代器接口没有根本联系。解决方案是WLOG。我得到这个错误“表达式向量迭代器+偏移量超出范围”是的。。。它执行得很好,但在某一点上抛出了这个错误。@Dosti:那么您在其他地方犯了一个错误,与
RepeatedField的迭代器接口没有根本联系。