簡體   English   中英

嘗試使用模板聲明編譯prog時出現鏈接器錯誤LNK2019

[英]Linker error LNK2019 while trying to compile prog with template declarations

這里的代碼

    #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;
    }

嘗試編譯時-收到一條消息:

1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall
grid<int>::~grid<int>(void)" (??1?$grid@H@@QAE@XZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall 
grid<int>::grid<int>(void)" (??0?$grid@H@@QAE@XZ) referenced in function _main

需要做什么?

您需要定義構造函數和析構函數(您剛剛聲明了它們):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM