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

Ошибка линкера: ссылка на неразрешенный внешний символ "public: int __thiscall stack<int>::pop(void)" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Взаимодействие с другими консольными приложениями http://www.cyberforum.ru/cpp-beginners/thread1168741.html
Значит тема такая: У меня ubuntu. Я хочу чтобы моя программа (консольная) взаимодействовала с другой консольной программой. Допустим это будет telnet. Мне нужно, чтобы из моей программы запускался telnet (ну это просто)... system("telnet"); Далее, я хочу чтобы я мог из моей программы взаимодействовать с уже запущенным telnet. То есть писать ему команды и тому подобное. Например, после...
C++ Структуры. Записать отдельно имя и фамилию и отдельно числа Есть текстовый файл по типу : Ivanov Ivan 4 8 5 9 Petrov Petr 5 2 3 4 Ktoto Tam 5 4 1 2 Есть структура: struct My { string Surname; http://www.cyberforum.ru/cpp-beginners/thread1168712.html
Описать структуру с именем STUDENT. Исправить ошибки в коде C++
Проверьте пожалуйста! Задание такое: описать структуру с именем STUDENT, содержащую следующие поля: а)фамилия и имя(строка 15 символов), б) год рождения(целое неотриц. число), в)номер группы( число целое или строка из 3 символов), г)оценки за сессию по 4 предметам( массив из 4 типа float) В этой программе, реализовать следующие функции:1)вывести список студентов, фамилии которых начинаются...
Агрегация массива в класс C++
Решил описать класс вектора для работы с opengl, но не понимаю как можно передать данные объекту через массив путём агрегации. Инициализировать каждый элемент не удобно и очень громоздко получается. Хочу что то вроде такого: Class vector3 { float coord; .... }; void draw() { vector3 v.coord = {{x,y,z}, {x1,y1,z1}, ...}; glvertexfv(v);
C++ Построить интерполяционные многочлены Ньютона http://www.cyberforum.ru/cpp-beginners/thread1168687.html
Построить интерполяционные многочлены Ньютона для функции F(x)=lg(x)-((x-1)/x) по следующим узлам: х=1, 2, 4, 8, 10; Проблемы возникают не с написанием кода, а в том, "как решить"
C++ Чтение всего файла fstream В общем мне казалась задача вполне очевидна и частая считать файл целиком в строку, но почему-то я не нашёл ничего готового (типа fstream::readAll()). Оператор >> игнорирует пробельные символы, вычитал отсюда http://www.cyberforum.ru/cpp-beginners/thread659946.html что можно использовать getline, но меня смущает что туда нужно передавать буфер заранее известного размеры, вам не кажется что это... подробнее

Показать сообщение отдельно
slevin_45
1 / 1 / 0
Регистрация: 17.12.2013
Сообщений: 66
07.05.2014, 00:57     Ошибка линкера: ссылка на неразрешенный внешний символ "public: int __thiscall stack<int>::pop(void)"
Всем привет!
Возникает ошибка: error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall stack<int>::pop(void)" (?pop@?$stack@H@@QAEHXZ) в функции _main
Читал,что нужно подключать файлы как-то иначе.Пробовал сделать по примеру,но не получилось. Помогите,пожалуйста.
И возможно,кто-нибудь подскажет мне ещё в одной вещи:то,что закомментировано,это моя попытка сделать динамический стек.Но не получается.Создавла уже тему по этому поводу,но советы не помогли.
STACK.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<stdlib.h>
using namespace std;
template<typename T>
class stack
{
private:
    int* arr;
    int index;
    int max;
public:
    stack(int n)
    {
        index=0;
         arr=new T[n];
         max=n;
    }
    bool push(T);
    //int* t(int *,int);
    int pop();
    char* is_empty();
    bool is_full();
};
Stack.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
#include"stack.h"
using namespace std;
/*int*  stack::t(int *arr,int max)
{
    max++;
    return(arr=new int[max]); 
}*/
template<typename T>
bool stack<T>:: push(T c)
{
    if(index==max)
    {
        return false;
    }
    else
    {
        arr[index]=c;
        //t(arr,max);
        index++;
        return true;
    }
}template<typename T>
int stack<T>:: pop()
{
    if(index<0)
    {
        cout<<"Stack is without elements";
    }
    else
    {
    return (arr[--index]);
    }
}
template<typename T>
char* stack<T>::is_empty()
{
    if(index==0)
    {
        return("pust");
    }
    else
    {
        return("net");
    }
}template<typename T>
bool stack<T>::is_full()
{
    if(index==max-1)
    {
        return true;
    }
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include"stack.h"
#include<iostream>
using namespace std;
 
void main()
{
    stack<int> s(3);
    s.push(5);
    s.push(2);
    s.push(7);
    cout<<s.pop();
    cout<<s.pop();
    cout<<s.pop();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru