Форум программистов, компьютерный форум CyberForum.ru

Undefined reference to - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ создание таблиц на СИ++ http://www.cyberforum.ru/cpp-beginners/thread1111730.html
как создать таблицу на СИ++ не считывая с файла?
C++ Template, в чем ошибка? #include <iostream> #include <ctime> #include <iomanip> using namespace std; template <typename T> void Fill(T matrix, int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j <col; j++) http://www.cyberforum.ru/cpp-beginners/thread1111716.html
C++ Пользовательский класс
Не могу переделать программу под данное условие: Пользовательский класс Array должен содержать: - конструктор с параметрами для создания динамических целочисленных массивов и установки начальных значений их элементов (реальные размеры массива (число элементов передаётся) через параметры); - деструктор для освобождения памяти; - метод вывода информации на экран; - методы для выполнения...
Вирус после компиляции C++
Добрый день. Начал изучение с++ с нуля. И вот первая загвоздка. Посмотрел на википедии http://ru.wikipedia.org/wiki/Dev-C++ описание компилятора, там же взял ссылку на официальный сайт, скачал данный компилятор, самую последнюю версию 4.9.9.2, решил написать Hello World програмку. Скомпилировал, появился экзешник, и через 2-3 секунды автоматически удалялся, удалялся до тех пор пока я...
C++ Как зовут соглашение о вызовах для функции main консольного Window x 64 приложения? http://www.cyberforum.ru/cpp-beginners/thread1111630.html
Как зовут соглашение о вызовах для функции main консольного Window x 64 приложения?
C++ Заданы координаты вершин двух прямоугольников. Определить их взаимное расположение Заданы координаты вершин двух прямоугольников. Определить их взаимное расположение: пересекаются, не пересекаются, касаются, принадлежит. P.S. Я совсем начинающий. Скажите хотя бы как задать прямоугольник. подробнее

Показать сообщение отдельно
Pirokar
4 / 4 / 0
Регистрация: 21.10.2012
Сообщений: 54
05.03.2014, 13:31     Undefined reference to
Есть класс NavyPort. Его заголовок:
NavyPort.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef NAVYPORT_H
#define NAVYPORT_H
 
class NavyPort
{
    public:
        NavyPort(bool p,  int what, int r);
        void unloadingShip();
        void loadShip();
        void goAway();
};
 
#endif // NAVYPORT_H


Его реализация:
NavyPort.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "NavyPort.h"
#include<iostream>
using namespace std;
 
bool pier;
int raid;
enum shipStatus
    {
        onPier = 1,
        onRaid = 2,
        empty = 3,
        withCargo = 4
    };
shipStatus ship;
 
NavyPort::NavyPort(bool p,  int what, int r)
{
    pier = p;
    raid = r;
    ship = (shipStatus)what;
}
 
 
 
    void unloadingShip()
    {
        if (pier)
          cout << "\n\nПричал занят!";
        else
        {
            if(raid > 0)
                raid--;
            ship = empty;
            cout << "\n\nКорабль подошел к причалу. Количество судов на рейде" << raid;
        }
 
    }
 
    void loadShip()
    {
        if (pier)
          cout << "\n\nПричал занят!";
        else
        {
           if(raid > 0)
                   raid--;
               ship = withCargo;
           cout << "\n\nКорабль загружен";
        }
    }
 
    void goAway()
    {
        pier = true;
        cout << "\n\nПричал освобожден";
    }


И в main я пытаюсь его использовать:
Main
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include "NavyPort.h"
#include <locale.h>  // подключает setlocale
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");//Русификация текста
    cout << "Добро пожаловать в гавань!" << endl;
    NavyPort* port = new NavyPort(false, 2, 5);
    for (;;)
    {
        int choise = -1;
        cout << "Что вы хотите сделать?\n\n";
        cout << "1: Загрузить корабль\n";
        cout << "2: Разгрузить корабль\n";
        cout << "3: Освободить причал от кораблей\n";
        cout << "0: Вернуться в реальный мир";
 
        cin >> choise;
 
        if (choise == 1)
            port->loadShip();
        else if (choise == 2)
            port->unloadingShip();
        else if (choise == 3)
            port->goAway();
        else if (choise == 0)
            break;
        else
            cout << "\n\nВы ошиблись при выборе варианта!";
    }
    return 0;
}


Проблема в том, что компилятор пишет ошибки в main:
||=== Build: Debug in OOP_Laba1 (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\Users\Pirokar\Documents\OOP\OOP_Laba1\main.cpp|24|undefined reference to `NavyPort::loadShip()'|
C:\Users\Pirokar\Documents\OOP\OOP_Laba1\main.cpp|26|undefined reference to `NavyPort::unloadingShip()'|
C:\Users\Pirokar\Documents\OOP\OOP_Laba1\main.cpp|28|undefined reference to `NavyPort::goAway()'|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Почему это undefined references??? Помогите, пожалуйста, голову уже сломал.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru