Как написать черту контейнера и использовать его частичную специализацию в качестве параметров функции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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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