2016-06-01 2 views
-5

Я компилирую программу на C++, но я продолжаю получать строки кода, которые не имеют смысла, а затем в нижней части всего он говорит «неопределенная ссылка на« меню ». У меня есть файл .h и файл .cpp, функция меню определена в моем файле .h, в моем файле .cpp я включаю файл .h в верхней части, и это также реализует мою функцию меню. И да, я их компиляция в то же времяОшибка: «Неопределенная ссылка на« main »«

заголовочного файл
#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; 
} 
+1

У вас есть угадывание, г-н Ньюбиор Оверхо. Почему бы вам не воспроизвести свою проблему в минимально возможной форме (удаляя несвязанные вещи, но все еще имеющую проблему), а также размещать содержимое ваших файлов, а также командную строку, которую вы используете для компиляции? – slezica

+4

Включите в свой вопрос соответствующие биты кода. Кроме того, добро пожаловать в переполнение стека! Если вы хотите попытаться улучшить свой вопрос, прочитайте http://stackoverflow.com/help/how-to-ask. – thesecretmaster

+0

"* Здесь также я реализую свою функцию меню *« ОК, но где вы реализуете 'main'? Вы забыли реализовать его вообще? »* И да, я собираю их в одно и то же время *« Что »* их *»? Вы упомянули только один файл cpp. – user2079303

ответ

0

Каждого C++ (для обычной размещенной реализации) требует main функции; она может выглядеть следующим образом:

int main() 
{ 
    // Top level statements 
} 

main автоматически вызывается при запуске программы.

Некоторые вещи, препараты, должны быть выполнены до main. Сюда даже относятся вещи, заданные программистом. Таким образом, вызов main не является первым, что случается в вашей программе, то есть main не является точкой входа в уровень машинного кода программы, но это главное.

Смежные вопросы