Мне нужно передать объект от дочернего процесса его родителю, но не могу, если данный объект состоит из шаблонных объектов.
Я успешно передал простой класс родительскому процессу, вызвав функцию C write (), передающую адрес моего объекта через сокет родительскому процессу, , но , когда мой объект * состоит из шаблонного объекта. (std :: vector, std :: pair ...) Valgrind выдает предупреждения о неинициализированных байтах и родительский процесс получил поврежденный объект.
Выход Valgrind:
==18624== Syscall param write(buf) points to uninitialised byte(s)
==18624== at 0x4E4B29D: ??? (syscall-template.S:84)
EDIT :
Как предложил @Sandro, я решил сериализовать свои сложные данные (std :: vector), используя объекты POD, но без какой-либо библиотеки.