Typ danych jako argument funkcji

0

Witam! Podczas realizacji pewnego programu natrafiłem na pewną przeszkodę w postaci przekazania typy do funkcji. W moim zamyśle moja funkcja ma przyjmować jako parametr typ danych i na jego podstawie obsłużyć szablon pewnej klasy. Czy można coś takiego zrealizować? Jeśli tak to w jaki sposób ? Pozdrawiam i dziękuję za odpowiedzi !

4

Może trzeba zastosować szablon?
https://en.cppreference.com/w/cpp/language/templates

2

Niezbyt rozumiem co masz na myśli. Możesz podać oczekiwane wejście i wyjście?

3
#include <iostream>
using namespace std;

template <typename T>
struct foo {
	T bar;
};

template <typename T>
foo<T> func(T arg) {
	return { arg };
}

int main() {
	cout << func(5).bar << endl
		 << func(213.7).bar << endl
		 << func("papa").bar << endl;
	return 0;
}

https://ideone.com/G09TOm

0
pasasap napisał(a):

Może trzeba zastosować szablon?

To jedyna szansa, że to, co oczekuje @rolniczy w ogóle jest osiągalne w C++

rolniczy napisał(a):

Witam! Podczas realizacji pewnego programu natrafiłem na pewną przeszkodę w postaci przekazania typy do funkcji. W moim zamyśle moja funkcja ma przyjmować jako parametr typ danych ...

BARDZO mi pachnie, jakby chcieć odwzorować w C++ typowe konwencje programowania Javy / C# - a da się zrobić tylko cienki, cieniutki wycinek.
generalnie "to se ne da, pane Havranek" z wielu powodów.

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