C++ - Calling a function inside a class with the same name as the class
c++, class, constructor
Solution
::A("Hello, world.");
should work fine. Basically it is saying "use the `A` found in the global namespace"
Problem
I was trying to write up a class in c++, and I came across a rather odd problem: calling outside functions inside of a class that have the same name as the class. It's kinda confusing, so here's an example: ``` 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."); } ``` The compiler complains at the second to last line that it can't find a function A(char*), because it is inside the class, and the constructor has the same name as the function. I could write another function outside, like: ``` ousideA(char* D) { A(D); } ``` And then call outsideA inside of A::C, but this seems like a silly solution to the problem. Anyone know of a more proper way to solve this?