http://www.cplusplus.com/doc/tutorial/templates/
http://msdn.microsoft.com/en-us/library/ssea4yk6(v=vs.80).aspx
Btw, w C++ każda funkcja musi mieć jawnie podany swój typ (mam na myśli main
).
Edit: to nie jest stricte to, co chcesz wykonać, ponieważ bez compiler-magic raczej tego nie można zrobić (a z kolei to tylko niepotrzebnie komplikowałoby sprawę, cokolwiek chcesz zrobić, można to wykonać łatwiej).
Każda funkcja musi zwracać jeden, określony typ.
Dziękuję wszystkim za informację, odpowiedzi i polemikę :)
Problem jest dla mnie dość nietypowy (a nie ukrywam, że daleko mi do profesjonalnego programisty C++), a mianowicie całość jest powiązana z bibliotekami firmy Autodesk (Autocad, ObjectARX) i przy szukaniu podpowiedzi z tamtej strony, odsyłano mnie do C++ (bo tutaj rozwiązanie ponoć się znajduje)..
Program pobiera na wejściu CString, a następnie polecenie systemowe AutoCADa "getvar", odwołujące się do przechowywanych przez niego wartości, zwraca nam te wartości.
Dla przykładu:
nazwa na wejściu, odwołująca się do wartości trybu lokalizacji (getvar "OSMODE"), zwraca na wyjściu wartość **Integer **np. 1 lub 0.
a następna może być (getvar "CLAYER") zwróci nam **CString **"0" lub "MyLayer".
Problemem jest właśnie to, że w chciałem funkcję, która sama dostosuje swój typ, do tego co uzyskam w odpowiedzi z funkcji "getvar".
Niemniej, po Waszej dyskusji, zrozumiałem dlaczego jest to trudne, a zarazem nieprawidłowe z punktu programowania w C++.
Zgodnie z sugestiami, stworzę kilka metod, gdzie każda będzie obsługiwała dany typ zmiennych (CString, integer, double itd.) i postaram się jakoś zabezpieczyć całość ErrHandle. Po prostu zanim wywołam "getvar", muszę wiedzieć jakiego typu odpowiedzi oczekiwać...
pozdrawiam