Eclipse说:在令牌之前不允许使用函数定义' {' (在执行的方面)
我错过了什么?
#include <iostream>
using namespace std;
int main(){
class MainButton {
int a;
public:
void pressed();
void released();
};
void MainButton::pressed() {
cout<<"Button pressed";
}
void MainButton::released(){
cout<<"Button released";
}
return 0;
}
答案 0 :(得分:2)
您正在尝试在函数中定义一个类,在本例中为int main()
。您需要将类定义移出此函数的范围。
答案 1 :(得分:0)
您的班级定义&amp;实施应该在主要方法之外:
#include <iostream>
using namespace std;
class MainButton {
int a;
public:
void pressed();
void released();
};
void MainButton::pressed() {
cout<<"Button pressed";
}
void MainButton::released(){
cout<<"Button released";
}
int main(){
return 0;
}
这是因为该类不仅仅是main方法的一部分,而是整个程序(其他函数应该能够访问它)。
要使用它,你可以这样做:
int main(){
MagicButton mb = new MagicButton();
mb.pressed();
return 0;
}
答案 2 :(得分:0)
您不能以这种方式定义方法。
在main()函数中定义pressed()和released()方法的唯一方法是定义内联到类的方法。您的另一个选择是将类的整个定义移到main函数()之外。