сделать функцию что по списку типов в темплейте вернет их все в векторе строк.
template<typename ... ArgTypes>
std::vector<std::string> TypesStr();
template<>
std::vector<std::string> TypesStr() {
return {};
}
template<typename T, typename ... ArgTypesRest>
std::vector<std::string> TypesStr() {
std::vector<std::string> res = TypesStr<ArgTypesRest...>();
res.insert(res.begin(), TypeStr<T>());
return res;
}
На TypesStr<int>() выдает ошибку, что overloaded 'TypesStr<int>()' is ambiguous
Ну да, ambiguous Непонятно что вызывать первую или вторую перегрузку
Советую убрать рекурсию и взять fold или обычный unpack
Обсуждают сегодня