以下代码编译。但是如果我编写代码来使用test
调用方法jar
,它会给我一个编译错误。这里到底发生了什么。
#include <iostream>
using namespace std;
class A {
public:
void test() {
cout << "working" << endl;
}
};
int main() {
A foo;
A jar();
}
答案 0 :(得分:7)
A jar();
声明一个名为jar
的函数,不带任何参数,返回类型是类A
的对象。
你不能在main
内声明一个函数,因此,你得到了错误。
答案 1 :(得分:1)
如果你试图声明一个名为ptr
的函数指针,你应该声明它:
A (*ptr)(void);