私は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(のchar *)を見つけることができないことを最後の行に2番目に文句を言い、そしてコンストラクタがあり関数と同じ名前。私は次のように、外の別の関数を書くことができます:
ousideA(char* D) {
A(D);
}
そして:: Cの内側にoutsideAを呼ぶが、これは問題に愚かな解決策のように思えます。誰でもこれを解決するより適切な方法を知っていますか?