2010-02-19 105 views
0

下面的代码链接错误LNK2019,而试图在尝试编译成编译模板声明

#include <iostream> 
    #include <conio.h> 

    using namespace std; 

    template <typename T> class grid 
    { 
    public: 
     grid(); 
     ~grid(); 
     void createCells(); 
    private: 
     T **cells; 
    }; 

int main(int argc, char **argv) 
    { 
     grid<int> intGrid; 
     _getch(); 
     return 0; 
    } 

PROG - 得到了一个消息:

1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall 
grid<int>::~grid<int>(void)" ([email protected]@@[email protected]) referenced in function _main 
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall 
grid<int>::grid<int>(void)" ([email protected]@@[email protected]) referenced in function _main 

什么需要做什么?

回答

1

您需要定义构造函数和析构函数(你只是宣布他们):

template <typename T> class grid 
{ 
public: 
    grid() 
    {} // here 
    ~grid() 
    {} // and here 
    void createCells(); 
private: 
    T **cells; 
}; 
+0

谢谢,编译了! – zed91 2010-02-19 07:23:35