gpt4 book ai didi

C++ 在 { Token 之前无效使用不完整类型或预期初始化程序

转载 作者:行者123 更新时间:2023-11-28 05:11:35 25 4
gpt4 key购买 nike

我见过遇到同样问题的人,但解决方案对我不起作用,或者我误解了它。我的类(class)员工继承 self 类(class)的客户,因为员工可以是客户,但他们有等级、用户名和密码。当我继承时,它告诉我不完整类型的无效使用。但是我已经尝试过解决方案并且在我的派生类(员工)中我#include“customer.h”或转发声明“class customer;”或者在我的 employee.h 文件中同时执行这两项操作,但它告诉我这个错误或者它在 {真的需要帮助

#ifndef CUSTOMER_H
#define CUSTOMER_H

#include "items.h"

class items;

class employee;

namespace Ui {
class customer;
}

class customer : public QMainWindow
{

Q_OBJECT

public:
explicit customer(QWidget *parent = 0);
customer(int, QString, QString, QString, QDate, QString, QString, int, int, QString);

~customer();

//START set and get functions
void setID(int);
int getID();

void setFirstName(QString);
QString getFirstName();

void setLastName(QString);
QString getLastName();

void setGender(QString);
QString getGender();

void setDateOfBirth(QDate);
QDate getDateOfBirth();

void setStreet(QString);
QString getStreet();

void setTown(QString);
QString getTown();

void setDistrictID(int);
int getDistrictID();

void setContactNumber(int);
int getContactNumber();

void setEmail(QString);
QString getEmail();
//END set and get functions

virtual void resetFields();

protected:
Ui::customer *ui;


private slots:
void on_pushButton_AddCustomer_clicked();

void on_pushButton_Clear_clicked();

void on_pushButton_ViewAllCustomers_clicked();

void on_pushButton_AddEmployee_emp_clicked();


void on_pushButton_Clear_emp_clicked();

void on_buying_pushButton_clicked();

void on_buying_pushButton_emp_clicked();

};

#endif // CUSTOMER_H


EMPLOYEE CLASS BELOW

#ifndef EMPLOYEE_H
#define EMPLOYEE_H


#include "ui_customer.h"
#include "database.h"

#include <QMainWindow>

#include "customer.h"
class customer;
class employee : public customer
{
Q_OBJECT
public:

employee(int, QString, QString, QString, QDate, QString, QString, int, int, QString, QString, QString, QString);

void setRank(QString);
QString getRank();

void setUsername(QString);
QString getUsername();

void setPassword(QString);
QString getPassword();

virtual void resetFields();

};

#endif // EMPLOYEE_H

最佳答案

如果编译器不需要知道类型的大小或布局,则只能使用类型的前向声明。如果您有指向前向声明类型的指针或引用,就会出现这种情况。如果您想实例化或继承该类型,则不是这种情况。

关于C++ 在 { Token 之前无效使用不完整类型或预期初始化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43396819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com