Я пытаюсь найти способ разработать шаблон класса, чтобы значение int
передавалось, и несколько сигнатур функций, а также списки аргументов зависят от этого значения.
В частности, учитывая MyClass
:
template <int N>
class MyClass {
typedef SomeType<int, int, int, /* ... N times*/ > MyDepType;
myFunction(std::string arg0, std::string arg1, /* ...*/ std::string argN) { /* do stuff */};
public:
MyClass() {
someFunction(float arg0, float arg1, /* ...*/ float argN); // <
someOtherFunction(boost::bind(&MyClass::myFunction, this, _1, _2, /*...*/ _N));
};
};
Я хотел бы иметь возможность выражать как частный вызов typedef, подпись myFunction
, так и список аргументов, передаваемых внешним функциям someFunction
и someOtherFunction
, которые я не могу редактировать/переписывать. Есть ли способ добиться этого, используя стандарт С++ 11?
someFunction
иsomeOtherFunction
принимают каждый аргумент по отдельности и, поскольку они не являются моим кодом, не могут изменить свою подпись. - person joaocandre   schedule 24.05.2020boost::bind
, что, честно говоря, является моей главной проблемой. С другой стороны, я признаю, что у меня нет большого опыта с такого рода статическим программированием. - person joaocandre   schedule 25.05.2020