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

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

Войти
Регистрация
Восстановить пароль
 
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
#1

vector memory - C++

16.12.2013, 22:48. Просмотров 228. Ответов 2
Метки нет (Все метки)

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
template <typename T>
class vector
{
    T* m_arr;
    int m_size;
    int m_capacity;
 
public:
    vector();
    vector(const vector<T>& );
    vector<T>& operator=(const vector<T>& );
    ~vector();
    void push_back(T a);
    T& operator[](int index);
    const T& operator[](int index) const;
    int size();
    void clear();
};
 
template <typename T>
vector<T>::vector():
    m_size(0),
        m_capacity(10)
    {m_arr=new T[m_capacity];}
 
template <typename T>
vector<T>::vector(const vector<T>& n)
{
    m_size=n.m_size;
    m_capacity=n.m_capacity;
    m_arr=new T[n.m_capacity];
    for(int i, i<n.size(), i++)
    {
        m_arr[m_size++]=n[i];
    }
}
 
template <typename T>
vector<T>& vector<T>::operator=(const vector<T>& n)
{
    if (this != &n)
    {
      m_size=n.m_size;
      m_capacity=n.m_capacity;
      m_arr=new T[n.m_capacity];
      for(int i, i<n.size(), i++)
      {
        m_arr[m_size++]=n[i]
      }
    }
    return* this;
}
 
template <typename T>
vector<T>::~vector()
{delete [] m_arr;}
 
template <typename T>
void vector<T>::clear()
{delete [] m_arr;}
 
template <typename T>
int vector<T>::size()
{return m_size;}
 
 
template <typename T>
void vector<T>::push_back(T a)
{
    if(size() == m_capacity)
    {
        T* tmp=new T[2*m_capacity];
        for(int i, i<m_capacity, ++i)
        {
            tmp[i]=m_arr[i];
        }
        delete [] m_arr;
        m_arr=tmp;
        m_capacity*=2;
    }
    m_arr[m_size]=a;
    m_size++;
}
 
template <typename T>
T& vector<T>::operator[](int index)
{
    return m_arr[index];
}
 
template <typename T>
const T& vector<T>::operator[](int index) const
{
    return m_arr[index];
}
 
template <typename T>
int main()
{
    vector<int> obj;
    for (int i=0; i<14; i++)
    {
        s.push_back(i);
    }
        
        cout << s[13] << endl;
        
    return 0;
}
Написал программу векторной памяти с использованием шаблонов, но выдает следующие ошибки
1.error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
2.error LNK1120: 1 unresolved externals

Подскажите в чем проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 22:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос vector memory (C++):

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main - C++
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt;...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) - C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу...

vector<Struct2{int,vector<struct1>}> или множественное наследование ... - C++
Здравствуйте! Помогите, пожалуйста. Есть такие данные: typedef struct { int x; int y; // координаты...

Ошибка [Linker error] undefined reference to `Vector::Vector(int)' - C++
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include &lt;iostream&gt; #include &quot;Vector.h&quot; int...

Указатель на объект вектор в векторе vector < vector<int>* >* - C++
Дело касается вот чего, есть такая вот незатейлевая вещь. #include &lt;vector&gt; #include &lt;iostream&gt; int main( ) { using...

Как корректно скопировать vector в vector внутри класса - C++
Есть класс принимающий в конструкторе vector: class test { test(std::vector&lt;std::string&gt; codeList); ~test(); ...

2
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.12.2013, 23:08 #2
Цитата Сообщение от mercury1987 Посмотреть сообщение
Подскажите в чем проблема?
Скорее всего, точка входа (main) не соответствует типу проекта.

Добавлено через 2 минуты
В свойствах проекта, точку входа можно прописать: Компоновщик - Дополнительно.
0
mercury1987
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 10
16.12.2013, 23:08  [ТС] #3
Вопрос снимается. Разобрался сам.
нужно удалить строчку template <typename T> над main()
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 23:08
Привет! Вот еще темы с ответами:

Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>> - C++
Добрый день, подскажите пожалуйста как лучше и проще считывать файл. в файле записаны числа, разделенные пробелами и запятыми: 1, 2, 3,...

Записать vector<vector<wchar_t>> в текстовый файл - C++
Подскажите пожалуйста, как записать vector&lt;vector&lt;wchar_t&gt;&gt; в файл. Файл необходимо открывать через _wfopen. Пробую так, не получается....

Struct / Vector / Expression: vector subscript out of range - C++
Добрый вечер. Имеется структура: struct Contact { public: string name; vector&lt;string&gt; phoneNumber; };

При include<vector> не включает и не видит vector - C++
Не видит vector: //--ClassNeuron.h #ifndef NEURON_H #define NEURON_H #include &lt;cstdlib&gt; #include...


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

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

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