Запятые отсутствуют при инициализации вектора:
const std::vector<std::string> ipv6_kernel_option_files = {
"/proc/sys/net/ipv6/conf/all/disable_ipv6"
"/proc/sys/net/ipv6/conf/default/disable_ipv6"
"/proc/sys/net/ipv6/conf/lo/disable_ipv6"
};
Следовательно, в векторе есть только один элемент, представляющий собой строку из трех путей, объединенных:
"/proc/sys/net/ipv6/conf/all/disable_ipv6/proc/sys/net/ipv6/conf/default/disable_ipv6/proc/sys/net/ipv6/conf/lo/disable_ipv6"
Учитывая, что
"/proc/sys/net/ipv6/conf/all/disable_ipv6"
- это файл, а не каталог, он не может содержать остальную часть пути.
Используйте запятые для разделения путей в векторной инициализации:
const std::vector<std::string> ipv6_kernel_option_files = {
"/proc/sys/net/ipv6/conf/all/disable_ipv6",
"/proc/sys/net/ipv6/conf/default/disable_ipv6",
"/proc/sys/net/ipv6/conf/lo/disable_ipv6"
};