1

デフォルトのコンストラクターでエラーが発生します

エラー: エラーC2679:バイナリ'=':タイプ'int'の右側のオペランドをとる演算子が見つかりません(または受け入れ可能な変換がありません)

コード:

#ifndef _SLOT_H
#define _SLOT_H
#include <string>
using namespace std;
template <class T>
class slot
{
private:
    string key;
    T data;
public:
    slot();
    slot(string str);
    slot(string str, T tempdata);
    slot(const slot &source);
    string getkey();
    T getdata();
    void setkey(string str);
    void setdata(T tempdata);
};

template<class T>
slot<T>::slot()
{
    key = "";
    data = NULL;
}
4

2 に答える 2

5

問題はおそらく、テンプレートに を割り当てることをT許可しない型でテンプレートをインスタンス化していることです。int

于 2012-04-08T01:58:57.410 に答える
0

私はこの問題の解決策を知っていると思います。先に進んで、メインをヘッダー ファイルに入れます。発生しているすべてのポインターの問題に対処する必要があります

例えば

main 内のすべてのコードを取得し、ファイル タイトル「Main.h」に配置します。Linux コメント マウント /dev/bin/boot を介して、これを他のファイルにリンクします。これにより、起動時にファイルがリンクされます。他にご不明な点がございましたら、お気軽にお問い合わせください。また、ファイルをリンクした後、機能させるために再起動する必要がある場合があります

ハッピープログラミング!

于 2012-04-09T19:57:58.367 に答える