Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
#1

ошибка в коде. - C++

23.12.2011, 22:53. Просмотров 476. Ответов 5
Метки нет (Все метки)

вечер добрый.
помогите найти ошибку.

stack.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
template <class T>
class stack {
private:
    const static unsigned int size = 10;
    unsigned int top;
    T arr[size];
public:
    stack() : top (0) {}
    void push (T var);
    T pop();
    std::ostream & operator << (std::ostream &ofs);
};

stack.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stack.h"
 
template <class T>
void stack<T>::push (T var) {
    arr[++top] = var;
}
 
template <class T>
T stack<T>::pop() {
    return arr[top--];
}
 
template <class T>
std::ostream & stack<T>::operator << (std::ostream &ofs) {
    for (unsigned int i = 0; i < top; ++i)
        ofs << arr[i] << " ";
    ofs << std::endl;
    return ofs;
}

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stack.h"
 
int main() {
    stack <int> mystack1;
    mystack1.push (10);
    mystack1.push (15);
    stack <float> mystack2;
    mystack2.push (10.25);
    mystack2.push (15.0);
    stack <char> mystack3;
    mystack3.push ('c');
    mystack3.push ('a');
    std::cout << mystack1 << mystack2 << mystack3;
    
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ошибка в коде. (C++):

Ошибка в коде (Ошибка сегментирования (core dumped) - C++
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

В чём ошибка.В коде там где коментарий там ошибка поучается. - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class CMyString{ char *pStr; public: ...

ОШибка в коде. - C++
#include &lt;iostream&gt; using namespace std; int main() { double sum=1.0; double term=0; double eps; int power=1; ...

ошибка в коде - C++
//--------------------------------------------------------------------------- #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

Ошибка в коде - C++
Всем привет. Ниже дана программа для определения счастливого билета. Помогите понять,почему программа работает не правильно. #include...

Ошибка в коде - C++
Цикл работает пока вводятся tempЫ и цикл_офф равен фалс. Когда пишу в темп &quot;no more&quot;, cycle_off становится тру и цикл прекращается....

5
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.12.2011, 22:55 #2
neske, ну хоть вы то можете выложить сообщение компилятора или сказать что именно не так работает
0
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
23.12.2011, 23:02  [ТС] #3
прошу прощения, забыл, ошибка компиляции.
main.obj : error LNK2019: unresolved external symbol "public: void __thiscall stack<int>:ush(int)" (?push@?$stack@H@@QAEXH@Z) referenced in function _main
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.12.2011, 23:04 #4
в конце файла stack.h сделайте #include <stack.cpp>.
stack.cpp лучше также переименовать в stack.inl.
ну и шаблоны обычно реализуются в том же файле, где и декларируются. так что лучше вообще без stack.cpp/stack.inl
1
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.12.2011, 23:05 #5
neske, шаблоны не разносят по файлам, должно быть все в одном файле
1
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
23.12.2011, 23:06  [ТС] #6
не знал, спасибо.
0
23.12.2011, 23:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2011, 23:06
Привет! Вот еще темы с ответами:

Ошибка в коде - C++
Вся загвоздка в том, что я ввожу код, он компилируется, код работает, но неправильно, поскольку какой бы х или е не вводили, ответ будет...

Ошибка в коде. - C++
Доброго времени суток задали нам сегодня задачу решить примерhttp://pic.ipicture.ru/uploads/091102/kKTR6dTEmX.png написал код но он не...

ошибка в коде ? - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; using namespace std; int main(){ const int Size=30; char...

Ошибка в коде - C++
Прветствую всех! printf(&quot;Введите расположение файла (например: C:\\myfile.txt):/n&quot;); char * s; scanf(&quot;%s&quot;, &amp;s); FILE * doc;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.