В чем смысл этого синтаксиса
Следующий код компилируется. Но если я напишу код для вызова метода test
с помощью jar
это дает мне ошибку компиляции. Что на самом деле здесь происходит.
#include <iostream>
using namespace std;
class A {
public:
void test() {
cout << "working" << endl;
}
};
int main() {
A foo;
A jar();
}
2 ответа
Решение
A jar();
объявляет функцию с именем jar
без каких-либо параметров, а возвращаемый тип является объектом класса A
,
Вы не можете объявить функцию внутри main
следовательно, вы получили ошибку.
Если вы пытались объявить указатель на функцию с именем ptr
Вы должны объявить это так:
A (*ptr)(void);