D:\Qt\Qt5.2.1\Tools\QtCreator\bin\day5\main.cpp:139: error: ISO C++ forbids declaration of 'Student' with no type [-fpermissive] Student(string n,int m):mentor_name(n),wages(m){} ^
时间: 2024-04-27 15:22:52 浏览: 9
这个错误的含义是:在main.cpp文件的第139行,声明了一个名为Student的变量或函数,但是没有指定其类型。这可能是因为在使用Student之前没有正确地包含它的头文件或类定义。解决方法是确保在使用Student之前正确地包含它的头文件或类定义,并且在类定义中指定Student的类型。另外,编译器可能会提示你添加“-fpermissive”标志来允许这种类型的声明,但这并不是推荐的解决方法,因为它可能会导致其他问题。
相关问题
D:\Qt\Qt5.2.1\Tools\QtCreator\bin\day5\main.cpp:53: error: no matching function for call to 'Student::Student()' Collage(string j,double s):major(j),score(s){} ^
这个错误是因为你在创建一个类的对象时,编译器默认会调用该类的默认构造函数,但是你的类中没有默认构造函数,而你又没有在创建对象时提供构造函数所需的参数。解决这个问题的方法是,在类中添加一个默认构造函数,或者在创建对象时提供构造函数所需的参数。如果你不需要默认构造函数,那么可以显式删除它,如下所示:
```
class Student {
public:
Student() = delete; // 显式删除默认构造函数
Student(string n, int a):name(n),age(a){}
Collage(string j,double s):major(j),score(s){}
private:
string name;
int age;
string major;
double score;
};
```
D:\Qt\Qt5.2.1\Tools\QtCreator\bin\day5-3\day5-hw\mainwindow.h:17: error: expected class-name before '{' token { ^
这个错误通常是由于头文件中的类名被错误地拼写或使用了不正确的语法导致的。请检查 `mainwindow.h` 文件中的第 17 行,并确保在该行之前已经包含了所需的头文件。同时,也需要确保在类定义前有正确的语法。例如,类定义应该类似于这样:
```
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
```
如果还是无法解决问题,请提供更多的代码或上下文信息。