55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
1

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

17.06.2014, 15:50. Показов 3611. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2014, 15:50
Ответы с готовыми решениями:

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; #include &lt;vector&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)"
Здравствуйте, можете подсказать каким образом можно изменить конструкцию vector&lt;int&gt; name(const...

6
Неэпический
17848 / 10616 / 2049
Регистрация: 27.09.2012
Сообщений: 26,684
Записей в блоге: 1
17.06.2014, 15:52 2
Шаблоны должны быть доступны в месте инстанцирования.
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
17.06.2014, 15:57  [ТС] 3
Чуть по конкретней, если можно. Я с шаблонами только столкнулся.
0
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
17.06.2014, 16:04 4
Лучший ответ Сообщение было отмечено nocl1p как решение

Решение

Переместите реализацию в заголовок.
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
17.06.2014, 16:05  [ТС] 5
ПОДОЖДИ КА! Для шаблонов не существует раздельной компиляции????????
0
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
17.06.2014, 16:06 6
Как Вы это себе представляете?
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
17.06.2014, 16:14  [ТС] 7
Представить я конечно не смог. Просто попробовал реализовать.

Добавлено через 7 минут
Все получилось. Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2014, 16:14
Помогаю со студенческими работами здесь

Какая из этих функций int Q(int w) int W(int y,int u,int i) сработает быстрее?
Если есть 2 функции(простые или перегруженные) к примеру Q(int w) int W(int y,int u,int i)или int...

[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; #include &lt;iostream&gt;...

[C++ Error] Unit2.cpp(22): E2034 Cannot convert 'int (*)(int,int *)' to 'int'
Всем привет! Пожалуйста , помогите , почему выдает ошибку Unit2.cpp(22): E2034 Cannot convert 'int...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru