我試圖用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);
}
然後調用outsideA A ::的C裏面,但是這似乎是一個愚蠢的問題的解決方案。任何人都知道更正確的方法來解決這個問題?