So, what I found out until now, that for some reasons in 
//pack spd, acc, jrk
no values are stored. However, pose works. So the error message is shown 
because I want to access non existing data.

I can print all data in the for-loops and spd[i], acc[i[, and jrk[i] 
contain values. I also can access them after storing it in Control2Arm. 
They just don't survive serialization and parsing.

B


On Wednesday, October 1, 2014 5:18:46 PM UTC+2, BKonz wrote:
>
> Hello,
> I have the following Message in my .proto file:
>
> message Control2Arm{
>  required int32 command = 1;
>  repeated double pose = 2;
>  repeated double spd = 3;
>  repeated double acc = 4;
>  repeated double jrk = 5;
> }
>
> In one class I do this:
>
> Control2Arm c2a;
>     c2a.set_command(1);
>
>   //pack pose
>   for (int i = 0; i < 3; i++) {
>     for (int j = 0; i < 3; i++) {
>       c2a.add_pose(pose(i, j));
>     }
>   }
>   //pack spd
>   for (int i = 0; i < 3; i++) {
>     c2a.add_spd(spd[i]);
>   }
>   //pack acc
>   for (int i = 0; i < 3; i++) {
>     c2a.add_acc(acc[i]);
>   }
>   //pack jrk
>   for (int i = 0; i < 3; i++) {
>     c2a.add_jrk(jrk[i]);
>   }
>   std::string s;
>   c2a.SerializeToString(&s);
>
>
> later I parse it:
> Control2Arm t;
>  bool parsed = t.ParseFromArray(&_str[0], _str.size());
>
> It works when I don't use repeated in the message and only send one value. 
> With repeated I get:
> [libprotobuf FATAL 
> /usr/local/include/google/protobuf/repeated_field.h:613] CHECK failed: 
> (index) < (size()): 
>
> Is the error in the part I posted?
>
> Thanks a lot.
> B
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to