Когда я создаю объект, компилятор выдает ошибку C4430 - PullRequest
1 голос
/ 15 мая 2019

Я получаю эти две ошибки

Ошибка № 01:

ошибка C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором 'mainObj'

Ошибка № 02

ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int

У меня есть следующие классы

  1. Главная


  2. Клиент


  3. CNode


когда я создаю объект указателя класса 'CNode' в классе 'Customer', ошибки нет. Но когда я создаю не указатель объекта класса Main в классе Customer Компилятор дает выше две ошибки. в то время как у класса «Main» есть основная функция.

, пожалуйста, помогите мне решить эти ошибки.

main.h

#pragma once
#include <iostream>
#include<string>
#include<conio.h>
#include<fstream>
#include<iomanip>
#include <sstream>
#include "Customer.h"
using namespace std;
class Main
{
        int acc;
        int total = 0;
        int rtotal = 0;
        int sum = 0;

public:
    Main();
    void design();
    void welcome();
    string passcin();
    void login_des();
    void admin_account();
    void add_staff();
    void delete_staff(int);
    void search_staff(int);
    void update_staff(int);
    void room_display();
    void room_book();
    void checkout();
        int main();
};

customer.h

#pragma once
#include <iostream>
#include<string>
#include<fstream>
#include <sstream>
#include "Main.h"
#include "Node.h"



class Customer
{
    CNode *head, *tail, * temp;
    Main mainObj;

public:

    Customer();

    bool search(string, string);
    void updateAccount(string, string);
    CNode* inputNode();
    void custAccount(string);
    void createAccount();
    void createAccount(CNode *);
    void addCust();
    void deleteCust(int sno);
    void searchCust(int sno);
    void updateCust(int sno);
    void displayCust();
    CNode* retriveAllCust();
};

node.h

#pragma once
#include <iostream>
#include<string>
#include<fstream>
using namespace std;
class CNode
{
     string name, email, pass, roomNo, phoneNo, country, creditCardName, cardNo;
bool bookFlag;
CNode *prev, *next;
int length;
public:
CNode();
CNode(string n, string e, string ps, string r, string pn, string country, string creditName, string creditNo, bool bookFlag);
CNode(string n, string e, string ps, string pn, string country);

string getName();
string getPass();
CNode* getNextNode();
void display();
void addCust();
string retriveCust();

friend class Customer;
};

Я поставил точку с запятой перед mainObj как

; Main mainObj;

ошибка возникает в классе клиента в

Main mainObj;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...