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

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

Войти
Регистрация
Восстановить пароль
 
nocl1p
37 / 22 / 10
Регистрация: 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. Просмотров 1068. Ответов 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;
}

Чего компоновщику не хватает? Кто скажет?
Лучшие ответы (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++ [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 C++
C++ Ошибка линкера: ссылка на неразрешенный внешний символ "public: int __thiscall stack<int>::pop(void)"
C++ [Linker Error] Unresolved external 'Sort(int, int)' referenced from H:\INFORMATIC\5\UNIT1.OBJ
C++ error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall KDocument::Open(char const *)" в функции _WinMain@16
Нюансы синтаксиса: что означает запись vector<int*> a и vector <int>*a ? C++
Ошибка:unresolved external 'My<int>::My<int>(int)' unresolved external 'My<int>::~My<int>' C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
17.06.2014, 15:52     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec #2
Шаблоны должны быть доступны в месте инстанцирования.
nocl1p
37 / 22 / 10
Регистрация: 30.03.2012
Сообщений: 300
17.06.2014, 15:57  [ТС]     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec #3
Чуть по конкретней, если можно. Я с шаблонами только столкнулся.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
17.06.2014, 16:04     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Переместите реализацию в заголовок.
nocl1p
37 / 22 / 10
Регистрация: 30.03.2012
Сообщений: 300
17.06.2014, 16:05  [ТС]     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec #5
ПОДОЖДИ КА! Для шаблонов не существует раздельной компиляции????????
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
17.06.2014, 16:06     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec #6
Как Вы это себе представляете?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 16:14     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec
Еще ссылки по теме:
C++ set_difference(vector<pair<int,int>>, vector<int>>
Как считать данные в vector<pair<int, pair<int, int>>> arr(m) ? C++
C++ Применить accumulate к vector<pair<int, int>>
error C2664: Display: невозможно преобразовать параметр 1 из 'int [5]' в 'int" C++
error LNK2019: unresolved external symbol "public: __thiscall Shape2D::Shape2D(void)" (??0Shape2D@@QAE@XZ) C++

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

Или воспользуйтесь поиском по форуму:
nocl1p
37 / 22 / 10
Регистрация: 30.03.2012
Сообщений: 300
17.06.2014, 16:14  [ТС]     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec #7
Представить я конечно не смог. Просто попробовал реализовать.

Добавлено через 7 минут
Все получилось. Спасибо!
Yandex
Объявления
17.06.2014, 16:14     Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec
Ответ Создать тему
Опции темы

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