Я программирую назначение в настоящее время, и я в основном новичок в C++. Я понимаю, что вам нужно определить функцию, прежде чем вы сможете ее использовать, или использовать файл заголовка для прототипа функций перед их использованием в файле .cpp.идентификатор «customerMenu» не определен
Однако выполнение любой из этих операций по-прежнему вызывает ошибку, что методы не определены.
Это мой грязный заголовочный файл ...
#ifndef DRIVER_H
#define DRIVER_H
#include "Account.h"
#include <vector>
#include <iostream>
#pragma once
using namespace std;
class Driver {
private:
public:
void prevAccount(vector<Customer> customers);
void nextAccount(vector<Customer> customers);
void accountActions(vector<Customer> customers);
void listCustomerAccounts(vector<Customer> customers);
void selectAccount(vector<Customer> customers);
void createAccount(vector<Customer> customers);
void prevCustomer(vector<Customer> customers);
void nextCustomer(vector<Customer> customers);
void customerActions(vector<Customer> customers);
void listCustomers(vector<Customer> customers);
void selectCustomer(vector<Customer> customers);
void createCustomer(vector<Customer> customers);
void customerMenu(vector<Customer> customers);
void main();
};
#endif
А вот файл .cpp для драйвера, который по существу запускает программу ...
#include "Account.h"
#include "Customer.h"
#include "Driver.h"
#include "JuniorCurrentAccount.h"
#include "CorporateSavingsAccount.h"
#include "StudentSavingsAccount.h"
#include "CurrentAccount.h"
#include "Transaction.h"
#include <stdlib.h>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
static int customerIndex = 0;
static int accountIndex = 0;
static int accNum = 1;
//tier 5
void Driver::accountActions(vector<Customer> customers) { //code }
void Driver::prevAccount(vector<Customer> customers) { //code }
//tier 4
void Driver::createAccount(vector<Customer> customers) { //code }
void Driver::selectAccount(vector<Customer> customers) { //code }
void Driver::listCustomerAccounts(vector<Customer> customers) { //code }
//tier 3
void Driver::customerActions(vector<Customer> customers) { //code }
void Driver::nextCustomer(vector<Customer> customers) { //code }
void Driver::prevCustomer(vector<Customer> customers) { //code }
// tier 2
void Driver::createCustomer(vector<Customer> customers) { //code }
void Driver::selectCustomer(vector<Customer> customers) { //code }
void Driver::listCustomers(vector<Customer> customers) { //code }
//tier 1
void Driver::customerMenu(vector<Customer> customers) { //code }
void main()
{
vector<Customer> customers;
cout << "________________________" << endl;
cout << "//MAIN MENU " << endl;
cout << "||Customers (1) " << endl;
cout << "||";
int mainMenuChoice;
cin >> mainMenuChoice;
if (mainMenuChoice == 1)
{
customerMenu(customers);
}
}
Очень Дно .cpp-файл, где ошибка вызывает жалобы, действительно не понимая, почему эта ошибка появляется, поскольку я думаю, что я рассмотрел определения.
Я извлек код из тел метода, чтобы сэкономить место, но они по существу выполняют функцию ИЛИ вызывают метод более высокого уровня (1 вызов 2, 2 вызова 3).
Это имеет смысл, я предположил, что Драйвер автоматически будет считаться основным классом и, следовательно, его не нужно будет инициализировать (как в Java), но я не знал, что мне нужно его специально инициализировать. Благодаря! – Azzah