1

私はテンプレートに関してかなり新しいので、私のコードが非常に間違っていても、私を厳しくしないでください :) これはKey、テンプレートを使用するクラスのヘッダー ファイルです。

//Key.h
#ifndef KEY_H
#define KEY_H

#include "../Constants.h"

template<class KeyType>

class Key
{
    public:
        Key<KeyType>(KeyType initial);          
        KeyType increment();

    private:
        KeyType current;

};

#endif /* KEY_H */ 

これは、Keyクラスの .cpp ファイルです。

//Key.cpp
#include "Key.h"

template<class KeyType> Key<KeyType>::Key(KeyType p_initial)
{
    this->current = p_initial;
}

template<class KeyType> KeyType Key<KeyType>::increment()
{
    this->current ++; //KeyType should implement this operator
}

だから問題は何ですか?Key次のように、コード内の別の場所のインスタンスを作成しようとしています。

キー songID (0); // エラー: 未定義の参照Key<int>::Key(int)

そして使用する

songID.increment(); // エラー: 未定義の参照Key<int>::increment()

4

1 に答える 1

1

2 つのポイント:

于 2013-04-14T06:13:19.597 に答える