#include <iostream>
int main() {
std::string w1, w2;
std::swap(w1,w2);
return 0;
}
Dlaczego ten kod się kompiluje?
Przecież funkcja swap jest szablonowa i wypada mi skonkretyzować najpierw parametr, tzn:
std::swap<std;:string>(w1, w2).
Skąd w takim razie funkcja wie o typie?