0
私はどこが間違っているのか分かりません。私はクラスhashTにクラスラップから文字列名とキーを渡すためにattempingてるクラステンプレートの使用にはテンプレート引数リストが必要で、適切なデフォルトコンストラクタがありません
C2955:「hashTは」:クラステンプレートを使用すると、テンプレート引数リストが必要
C2512:「hashT」:なし適切なデフォルトコンストラクタ利用可能
template<class T>
class hashT{
public:
hashT(const int newKey, const string newName= "") :theList(newKey,newName){
key = newKey;
name = newName;
theList.push_back(key);
theList.push_back(name);
}
hashT & operator=(const hash &rhs) {
if (this != &rhs) {
key = rhs.getKey();
name = rhs.getName();
desc = rhs.getDes();
}
return *this;
}
private:
vector<T>theList;
int key;
string name;
}
クラス
class wrap{
public:
wrap(){ myList = new hashT[1000];
~wrap(){ delete[]myList;}
//getter
hashT<class T> *getHashing() const{
return mylist;
}
//setter
void setNextHash(hashT<class T> *hashelement){
mylist = hashelement;
}
private:
hashT<class T> *mylist;
}
'hashT * mylist;'のようなメンバーを宣言することはできません –
Danh
@ダンJupは、その申し訳ありませんを忘れてしまった:)ありがとう – Rakete1111