Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2017, 13:37   #1
Rick Sanchez
 
Аватар для Rick Sanchez
 
Регистрация: 04.12.2017
Сообщений: 6
Вопрос main

Код:
#ifndef QUEUE_H
#define QUEUE_H
 
#include <cassert>
 
template<typename T>
class Queue
{
private:
    T *queuePtr;     
    const int size;  
    int begin,      
        end;         
    int elemCT;      
public:
    Queue(int =10);          
    Queue(const Queue<T> &); 
    ~Queue();                
 
    void enqueue(const T &); 
    T dequeue(); 
    void printQueue();
};
 

template<typename T>
Queue<T>::Queue(int sizeQueue) :
    size(sizeQueue), 
    begin(0), end(0), elemCT(0)
{
    
    queuePtr = new T[size + 1];
}
 

template<typename T>
Queue<T>::Queue(const Queue &otherQueue) :
    size(otherQueue.size) , begin(otherQueue.begin),
    end(otherQueue.end), elemCT(otherQueue.elemCT),
    queuePtr(new T[size + 1])
{
    for (int ix = 0; ix < size; ix++)
        queuePtr[ix] = otherQueue.queuePtr[ix];
}
 

template<typename T>
Queue<T>::~Queue()
{
    delete [] queuePtr;
}
 

template<typename T>
void Queue<T>::enqueue(const T &newElem)
{
    
    assert( elemCT < size );
 
    
    queuePtr[end++] = newElem;
 
    elemCT++;
 
    
    if (end > size)
        end -= size + 1; 
}
 

template<typename T>
T Queue<T>::dequeue()
{
    
    assert( elemCT > 0 );
 
    T returnValue = queuePtr[begin++];
    elemCT--;
 
    
    if (begin > size)
        begin -= size + 1; 
 
    return returnValue;
}
 
template<typename T>
void Queue<T>::printQueue()
{
    cout << "Очередь: ";
 
    if (end == 0 && begin == 0)
        cout << " пустая\n";
    else
    {
        for (int ix = end; ix >= begin; ix--)
            cout << queuePtr[ix] << " ";
        cout << endl;
    }
}
компилятор выдает ошибку fatal error LNK1561: точка входа должна быть определена. Как понимаю дело в main. Только где оно должно стоять?
Rick Sanchez вне форума Ответить с цитированием
Старый 05.12.2017, 14:12   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Явно не здесь. Это хедер с определением. Создайте новый файл, типа main.cpp, и в нем определите.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# Windows.Forms Программа содержит более одной указанной точки входа: "Program.Main()". Скомпилируйте с /main, чтобы указать тип Maray Windows Forms 6 06.04.2016 07:07
main.css Gudzik11 HTML и CSS 6 09.04.2012 18:49
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:9) elpilasgsm Помощь студентам 4 18.01.2011 08:23
Main Menu MrMorozko Помощь студентам 0 18.12.2009 11:45
Функция main и main(void) Pord Помощь студентам 1 11.12.2008 15:57