Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
nocl1p
37 / 22 / 17
Регистрация: 30.03.2012
Сообщений: 300
#1

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec - C++

17.06.2014, 15:50. Просмотров 1275. Ответов 6
Метки нет (Все метки)

Вот есть заголовочный файл

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Заголовочный файл Vector.h
#ifndef VECTOR_H
#define VECTOR_H
 
#include <iostream>
using namespace std;
 
template<typename T>
class Vector
{
public:
    Vector(T x, T y, T z); // Конструктор класса, который инициализирует трехмерный вектор
    T GetLength(Vector<T> vect); // Метод класса, который находит длину вектора
    Vector<T> Normalize(Vector<T> vect); // Метод класса, который делает вектор единичной длины
    
private:
    T XCoord, YCoord, ZCoord;
    T GetVectorXCoordinate(Vector<T> vect);
    T GetVectorYCoordinate(Vector<T> vect);
    T GetVectorZCoordinate(Vector<T> vect);
};
 
#endif
Дальше файл реализации

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
// Файл реализации класса Vector
#include <iostream>
#include "Vector.h"
using namespace std;
//=================================================================================
template<typename T> Vector<T>::Vector(T x, T y, T z)
{
    const int ArraySize = 2;
    T Array[2] = {0, 0, 0};
 
    Array[0] = x; 
    Array[1] = y;
    Array[2] = z;
 
    XCoord = x;
    YCoord = y;
    ZCoord = z;
}
//=================================================================================
 
//=================================================================================
template<typename T> T Vector<T>::GetVectorXCoordinate(Vector<T> vect)
{
    return XCoord;
}
//=================================================================================
template<typename T> T Vector<T>::GetVectorYCoordinate(Vector<T> vect)
{
    return YCoord;
}
//=================================================================================
template<typename T> T Vector<T>::GetVectorZCoordinate(Vector<T> vect)
{
    return ZCoord;
}
//=================================================================================
template<typename T> T Vector<T>::GetLength(Vector<T> vect)
{
    return sqrt(GetVectorXCoordinate(vect) * GetVectorXCoordinate(vect) 
                + GetVectorYCoordinate(vect) * GetVectorYCoordinate(vect) 
                + GetVectorZCoordinate(vect) * GetVectorZCoordinate(vect));
}
//=================================================================================
И MAIN

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <conio.h>
#include "Vector.h"
using namespace std;
int main()
{
    Vector<int> vect(4, 2, 9);
    std::cout << "444";
 
 
    _getch();
    return 0;
}

Чего компоновщику не хватает? Кто скажет?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 15:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec (C++):

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

[Linker Error] Unresolved external 'Sort(int near*near ,int, int)
не могу понять в чем ошибка при компиляции ошибок не выдает при запуске...

//unresolved external symbol "void_cdecl fun1(int,int)" (&fun1@@YAXHH@Z) referenced in function_main
создал проект, нужно ввести двумерный массив, потом создать функцию которая...

Изменение конструкции "vector<int> name(const vector<int>& v)"
Здравствуйте, можете подсказать каким образом можно изменить конструкцию...

[Linker Error] Unresolved external 'Sort(int, int)' referenced from H:\INFORMATIC\5\UNIT1.OBJ
понять не могу откуда, собственно, ошибка, да что там. Вот код ...

[ilink32 Error] Error: Unresolved external 'List::heapSort(int *, int)' referenced from C:\USERS\LUTEN\DOCUMENTS\EMBARCA
#pragma hdrstop #pragma argsused #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; ...

6
Croessmah
++Ͻ
14161 / 8086 / 1513
Регистрация: 27.09.2012
Сообщений: 19,929
Записей в блоге: 3
Завершенные тесты: 1
17.06.2014, 15:52 #2
Шаблоны должны быть доступны в месте инстанцирования.
1
nocl1p
37 / 22 / 17
Регистрация: 30.03.2012
Сообщений: 300
17.06.2014, 15:57  [ТС] #3
Чуть по конкретней, если можно. Я с шаблонами только столкнулся.
0
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
17.06.2014, 16:04 #4
Лучший ответ Сообщение было отмечено nocl1p как решение

Решение

Переместите реализацию в заголовок.
1
nocl1p
37 / 22 / 17
Регистрация: 30.03.2012
Сообщений: 300
17.06.2014, 16:05  [ТС] #5
ПОДОЖДИ КА! Для шаблонов не существует раздельной компиляции????????
0
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
17.06.2014, 16:06 #6
Как Вы это себе представляете?
1
nocl1p
37 / 22 / 17
Регистрация: 30.03.2012
Сообщений: 300
17.06.2014, 16:14  [ТС] #7
Представить я конечно не смог. Просто попробовал реализовать.

Добавлено через 7 минут
Все получилось. Спасибо!
0
17.06.2014, 16:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 16:14
Привет! Вот еще темы с решениями:

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

Нюансы синтаксиса: что означает запись vector<int*> a и vector <int>*a ?
Часто встречается вот такая запись: vector&lt;int&gt; a; это понятно что. Массив...

Ошибка:unresolved external 'My<int>::My<int>(int)' unresolved external 'My<int>::~My<int>'
есть 3 файла. файл inc.h: ... template &lt;class T&gt; class My { int m_size; T...

set_difference(vector<pair<int,int>>, vector<int>>
Мне бы провести эту операцию по первому значению pair. Это реально сделать...


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

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

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