Алексей Клименков
Алексей Клименков

Помогите разобраться с ошибкой "error LNK2019: ссылка на неразрешенный внешний символ". В Microsoft Visual C++ 2010

//test_class.h

#ifndef TEST_CLASS

#define TEST_CLASS

#include

#include

using namespace std;

template

class test_class

{

T *a;

int n;

public:

test_class(int);

~test_class();

bool get(istream&);

bool print(ostream&);

};

#endif // TEST_CLASS

//test_class.cpp

#include "test_class.h"

template

test_class::test_class(int n){

a = new T[n];

}

template

test_class::~test_class(){

delete[] a;

}

template

bool test_class::get(istream &tr){

for (int i=0; i
tr << a[i];

return true;

}

template

bool test_class::print(ostream &tr){

for (int i=0; i
tr >> a[i] >> endl;

return true;

}

// main.cpp

#include "test_class.h"

void main(){

test_class a(5);

}

Когда создаю объект этого класса в мэйне, то выдает эту ошибку при компиляции, хотя без этого создания, все компилируется успешно.

Ира Алёхина
Ира Алёхина

Шаблонные классы должны полностью описываться в заголовочных файлах. Перенесите все описания член-функций из test_class.cpp в test_class.h, а сам test_class.cpp удалите из проекта и у вас все заработает.

Света
Света

И какой же именно неразрешенный внешний символ указан в тексте ошибки?
Если ругается на какую-то строку кода, то на какую?

Похожие вопросы
как исправить ошибку Microsoft Visual C++ Runtime error?
Microsoft Visual c+ +
Microsoft Visual C# 2010 Express помогите пожалуйста
Проблема с Microsoft Visual C++ 2010 Expres, помогите пожалуйста.
Установление Microsoft Visual Studio C++ 2010.
Проблема с Microsoft Visual C++ 2010 Express :
Обязательно ли устанавливать Microsoft Visual C++ 2005, 2008, 2010? Или все версии заменит Microsoft Visual C++ 2013?
Microsoft Visual C++ єсть Microsoft Visual C++ 2010 для андроид?
Почему возникает ошибка error LNK2019: ссылка на неразрешенный внешний символ __imp__glutMainLoop
Помогите решить на С++ (Microsoft Visual C++ 2010)