C++로 클래스를 작성하려고했는데, 같은 이름을 가진 클래스 내부에서 외부 함수를 호출하는 다소 이상한 문제가 발생했습니다. 클래스로. 그것은, 그래서 여기에 예를 들어 좀 혼란 것 :C++ - 클래스와 같은 이름의 클래스에서 함수 호출하기
void A(char* D) {
printf(D);
}
class A
{
public:
A(int B);
void C();
};
A::A(int B) {
// something here
}
void A::C() {
A("Hello, World.");
}
는 클래스 내부에 있기 때문에 컴파일러는,이 함수 A (숯불 *)를 찾을 수없는 마지막 줄에 두 번째로 불평 생성자가있다 함수와 같은 이름. 나는 같은 외부의 다른 기능을 쓸 수있다 :
ousideA(char* D) {
A(D);
}
후 ::의 C의 내부 outsideA 부르지 만,이 문제에 바보 솔루션처럼 보인다. 누구든지이 문제를 해결하는 더 적절한 방법을 알고 있습니까?