Как написать черту контейнера и использовать его частичную специализацию в качестве параметров функцииC++

Программы на C++. Форум разработчиков
Anonymous
Как написать черту контейнера и использовать его частичную специализацию в качестве параметров функции

Сообщение Anonymous »

Допустим, класс - это mycontainer , если он имеет

Код: Выделить всё

size_t size()
T& operator[](size_t index)
const T& operator[](size_t index)
< /code>
И я хочу написать функцию шаблона, которая принимает конкретную версию MyContainer, например, любой контейнер, который индексирует значения int и значения плавания < /p>
float add(const MyContainer &left, const MyContainer &right);
< /code>
и используйте его как < /p>
vector a;
some_custom_vector b;
float res = add(a, b);
Как я могу это достичь?

Код: Выделить всё

// can not specify inner type
template
float add(const MyContainer &left, const MyContainer &right);

// can not specify inner type either
auto add(const auto &left, const auto &right);

Я также попытался использовать шаблон , но компилятор не может вывести параметр внутреннего шаблона.

Подробнее здесь: https://stackoverflow.com/questions/767 ... -as-functi

Вернуться в «C++»