Я пытался написать класс на 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 *), потому что он находится внутри класса, аКонструктор имеет то же имя, что и функция.Я мог бы написать другую функцию снаружи, например:
ousideA(char* D) {
A(D);
}
И затем вызвать outsideA внутри A :: C, но это кажется глупым решением проблемы.Кто-нибудь знает более правильный способ решить эту проблему?