-5
我正在編譯一個C++程序,但我不斷收到一些沒有意義的代碼行,然後在它的底部顯示」未定義的引用'菜單'「。我有一個.h文件和一個.cpp文件,在我的.h文件中定義了菜單功能,在我的.cpp文件中,我在頂部包含了我的.h文件,這也是我實現菜單功能的地方。是的,我在同一時間編譯它們錯誤:」未定義的引用'主''「
頭文件#include <iostream>
#include <cctype>
#include <fstream>
using namespace std;
/*
struct dog_park
{
char * name;
char * location;
char * description;
char * fence;
char * size;
};
*/
class parks
{
public:
struct dog_park
{
char * name;
char * location;
char * description;
char * fence;
char * size;
};
parks();
int menu();
bool display_all();
void add_park();
bool search_park();
~parks();
private:
dog_park * all_parks;
int length;
};
.cpp文件
//implementation of functions
#include "cs162_parks.h"
parks::parks()
{
all_parks = new dog_park[length];
}
//allows for user to select what action to take
int parks::menu()
{
int choice = 0;
cout << "Welcome to the menu, your choices to choose from are: " << endl << endl;
cout << "1. Add a dog park to list" << endl;
cout << "2. Search for specific park by name" << endl;
cout << "3. Display all dog parks" << endl;
cout << "4. Quit" << endl << endl;
cout << "What menu selection do you choose? (1-4): ";
cin >> choice;
cin.ignore(100, '\n');
return choice;
}
parks::~parks()
{
if (all_parks)
delete [] all_parks;
}
你有我們猜測,先生NewbieOverHere。爲什麼不以最小的可能形式重現問題(刪除不相關的東西但仍然存在問題),併發布文件的內容以及用於編譯的命令行? – slezica
請在您的問題中包含相關的代碼位。另外,歡迎來到Stack Overflow!如果您想嘗試改善您的問題,請閱讀http://stackoverflow.com/help/how-to-ask。 – thesecretmaster
「*這也是我實現我的菜單功能的地方*」好的,但是你在哪裏實現'main'?你忘了執行它了嗎? 「*是的,我正在同時編譯它們*」什麼「*他們*」?你只提到一個cpp文件。 – user2079303