Portál AbcLinuxu, 16. prosince 2025 16:30
#include <iostream>
template <class T> T foo(T x) { return x; }
template <typename T> T bar(T x) { return x; }
void main()
{
cout << foo("foo") << endl;
cout << bar("bar") << endl;
system("pause");
}
Řešení dotazu:
class tam, kde očekáváte třídu, protože např. voláte nějaké metody (design by contract; tam základní typ být nemůže), a typename tam, kde používáte jen hodnoty. V některých případech, kde to nemůže být základní typ, dokonce ani nejde použít typename, třeba u template <template <typename> class Type>.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.