Witam.
Uczę się obecnie szablonów funkcji w C++ i przepisałem z książki przykładowy kod programu:
//swap.cpp
#include <iostream>
#include <string>
using namespace std;
//Utwórz szablon funkcji.
//Funkcja wymienia wartości dwóch zmienych.
template <class T>
void swap(T &a, T &b) {
T tmp = a;
a = b;
b = tmp;
}
int main() {
int i1 = 100;
int i2 = 200;
cout << "Przed wymianą: i1 == " << i1 << " , i2 == " << i2 << endl;
swap(i1, i2);
cout << "Po wymianie: i1 == " << i1 << ", i2 == " << i2 << endl;
//Wymień dwa ciągi.
string s1 = "Larry";
string s2 = "Andi";
cout << "Przed wymianą: i1 == " << s1 << " , i2 == " << s2 << endl;
swap(s1, s2);
cout << "Po wymianie: i1 == " << s1 << " , i2 == " << s2 << endl;
cout << "Naciśnij Enter lub Return, aby kontynuować.";
cin.get();
return 0;
}
Jednak kiedy chcę go skompilować to pokazują się błędy w linii 23 czyli w wywołaniu funkcji swap.
Proszę was o pomoc, gdyż kod przepisałem idealnie z książki i powinien działać a tego nie robi.
Dzięki i pozdro.