Не совсем ясно, чего вы хотите достичь, но, судя по вашему примеру, вам нужна функция, которая может принимать плавающие или двойные векторы.
Вы можете перегружать функции в C ++:
class verySimple{
public:
void processTolerances(std::vector<float> tolerances);
void processTolerances(std::vector<double> tolerances);
};
Тогда будет вызываться соответствующий в зависимости от аргумента.
Или вы можете сделать функцию шаблоном:
template<typename T>
void processTolerances(std::vector<T> tolerances);
Или, если verySimple
какЦелое зависит от типа:
template<typename T>
class verySimple{
public:
void processTolerances(std::vector<T> tolerances);
};
Какой способ выбора зависит от природы verySimple
и processTolerances
- общего «лучшего решения» не существует.