#include <iostream> int Add(int a, int b){ return a + b; } int main() { Add(1, 5); ::Add(1, 5); return 0; }
위 코드에서 ::를 붙여서 함수를 콜 하는 것과 붙이지 않고 함수를 콜 하는 것의 차이는 무엇입니까?
#include <iostream> int Add(int a, int b){ std::cout << "global add\n"; return a + b; } namespace kldp { int Add(int a, int b){ std::cout << "kldp add\n"; return a + b; } } int main() { using kldp::Add; Add(1, 5); ::Add(1, 5); return 0; }
라고 예제코드를 수정해 보면 의미차이가 분명해 질거 같습니다
::는 전역에 있는 것을 콜하는 것이군요...
#include <iostream> int
#include <iostream> int Add(int a, int b){ std::cout << "global add\n"; return a + b; } namespace kldp { int Add(int a, int b){ std::cout << "kldp add\n"; return a + b; } } int main() { using kldp::Add; Add(1, 5); ::Add(1, 5); return 0; }라고 예제코드를 수정해 보면 의미차이가 분명해 질거 같습니다
아... 감사합니다.
::는 전역에 있는 것을 콜하는 것이군요...