помогите выяснить проблему в Visual C
--------------------------------------------------------------
шаг1: создал Win32 Console Project -> Empty project
шаг2: написал 3 файла:
--------------------------------------------------------------
[more]
// Node.h
#ifndef NODE_H
#define NODE_H
class Node
{
int data;
Node* left;
Node* right;
public:
Node(int d, Node* l = NULL, Node* r = NULL);
};
#endif
------------------------------------------------------------------
// Node.cpp
#include "iostream.h"
#include "Node.h"
Node::Node(int d, Node *l, Node *r)
{
data = d;
left = l;
right = r;
}
------------------------------------------------------------------
// test.cpp
#include "iostream.h"
#include "Node.h"
void main()
{
Node nd(3);
}
--------------------------------------------------------------------
compiling , linhking нормально работают.
--------------------------------- ПРОБЛЕМ!!!---------------------
написал 3 шаблонных файла :
--------------------------------------------------------------------
// Node.h
#ifndef NODE_H
#define NODE_H
template<class T>
class Node
{
T data;
Node* left;
Node* right;
public:
Node(T d, Node* l = NULL, Node* r = NULL);
};
#endif
--------------------------------------------------------------------
// Node.cpp
#include "iostream.h"
#include "Node.h"
template<class T>
Node<T>::Node(T d, Node<T> *l, Node<T> *r)
{
data = d;
left = l;
right = r;
}
--------------------------------------------------------------------
// test.cpp
#include "iostream.h"
#include "Node.h"
void main()
{
Node<int> nd(3);
}
------------------------------------------------------------------
compiling : нормально работает (нет ошибки)
linhking : Ошибка!!!
error LNK2001: unresolved external symbol "public: __thiscall Node<int>::Node<int>(int,class Node<int> *,class Node<int> *)" (??0?$Node@H@@QAE@HPAV0@0@Z)
fatal error LNK1120: 1 unresolved externals
Error executing xilink6.exe.
///////////////////////////////////////////////////////////////////////////////////
Я не могу выяснить эту проблему.При исползовании шаблонных файлов, почему они не свзявются?. Кто узнает, помогите!!!
[/more]
--------------------------------------------------------------
шаг1: создал Win32 Console Project -> Empty project
шаг2: написал 3 файла:
--------------------------------------------------------------
[more]
// Node.h
#ifndef NODE_H
#define NODE_H
class Node
{
int data;
Node* left;
Node* right;
public:
Node(int d, Node* l = NULL, Node* r = NULL);
};
#endif
------------------------------------------------------------------
// Node.cpp
#include "iostream.h"
#include "Node.h"
Node::Node(int d, Node *l, Node *r)
{
data = d;
left = l;
right = r;
}
------------------------------------------------------------------
// test.cpp
#include "iostream.h"
#include "Node.h"
void main()
{
Node nd(3);
}
--------------------------------------------------------------------
compiling , linhking нормально работают.
--------------------------------- ПРОБЛЕМ!!!---------------------
написал 3 шаблонных файла :
--------------------------------------------------------------------
// Node.h
#ifndef NODE_H
#define NODE_H
template<class T>
class Node
{
T data;
Node* left;
Node* right;
public:
Node(T d, Node* l = NULL, Node* r = NULL);
};
#endif
--------------------------------------------------------------------
// Node.cpp
#include "iostream.h"
#include "Node.h"
template<class T>
Node<T>::Node(T d, Node<T> *l, Node<T> *r)
{
data = d;
left = l;
right = r;
}
--------------------------------------------------------------------
// test.cpp
#include "iostream.h"
#include "Node.h"
void main()
{
Node<int> nd(3);
}
------------------------------------------------------------------
compiling : нормально работает (нет ошибки)
linhking : Ошибка!!!
error LNK2001: unresolved external symbol "public: __thiscall Node<int>::Node<int>(int,class Node<int> *,class Node<int> *)" (??0?$Node@H@@QAE@HPAV0@0@Z)
fatal error LNK1120: 1 unresolved externals
Error executing xilink6.exe.
///////////////////////////////////////////////////////////////////////////////////
Я не могу выяснить эту проблему.При исползовании шаблонных файлов, почему они не свзявются?. Кто узнает, помогите!!!
[/more]