przekazywanie vector do konstruktora klasy szablonowej

0

Witam!
Mam taki problem: mam klase szablonowa i chce aby miala ona konstruktor przyjmujacy obiekt klasy

std::vector<A>
 

gdzie A jest dowolnym typem. Nie wiem jak to zrealizowac. Gdy mam np kod:

<template typename T>
class Foo
{
    public:
        Foo(std::vector<T> bar);
};
 

Konstruktor przyjmie tylko vector'y typu tego samego co klasa Foo. Chcialbym jednak aby dzialal dla np:

std::vector<int> intVector;
std::vector<float> floatVector;
Foo<double> doubleFoo(intVector);
Foo<double> doubleFoo2(floatVector);
 

Czy da sie tak zrobic?
Pozdrawiam

0

Może coś takiego:

#include <vector>

template <typename T>
class Foo {
public:
    template <typename Y>
    Foo(const std::vector<Y>& v) {
        // ...
    }
};

int main() {
    std::vector<float> fv;
    fv.push_back(1.23);
    Foo<int> foo(fv);
    
    return 0;
}
0

Swietnie, dziala!
O to mi chodzilo, dzieki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1