#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
template <typename T>
void swap(T &x, T &y) // swwap으로 바꾸면 잘됨.
{
T temp;
temp = x;
x = y;
y = temp;
}
int main() {
int x = 100;
int y = 200;
swap(x, y); // 이 부분이 오류
return 0;
}
==> 이렇게 코드를 짜면,
std::swap 오버로드된 함수에 대한 호출이 모호합니다. 라는 오류가 생기고
==> swap함수를 swwap함수로 바꾸면 오류가 사라지면서 실행이 됨니다. 과연 무엇일까요??
컴파일러가 왜 그러는 걸까요??