0

プログラムで「未解決の外部シンボル」というエラーが表示されます。知っていることはすべて試しましたが、解決できませんでした。クラステンプレートを使用した後、このエラーが発生し始めました。

FileHandler クラス ヘッダーは次のとおりです:-

#include <string>
#include <iostream>
#include "test.h"
#include <iomanip>
#include "Administrator.h"
#ifndef  FileHandler_h
#define FileHandler_h

using namespace std;
template<class T>
class FileHandler
   {
     public:string writeToFile(T writeObject);

public: FileHandler();

   };
  #endif

ファイル ハンドラー クラスの実装

template<class T>
FileHandler<T>::FileHandler(){}

template<class T>
string FileHandler<T>:: writeToFile(T writeObject)
{

   ofstream outputFile;
   outputFile.open("file.txt",ios::out|ios::app);


more code..........

     return "done";
 }

ファイルハンドラークラスでメソッドを呼び出すコードは次のとおりです

string Administrator::registerNewMember(Administrator newAdmin)
{

  FileHandler<Administrator> f1;

    return f1.writeToFile(newAdmin);

}

以下は、私が得るエラーのスクリーンショットです。

ここに画像の説明を入力

このエラーを修正するにはどうすればよいですか?

4

2 に答える 2

1

「FileHandler クラス ヘッダー」と「ファイル ハンドラー クラスの実装」を 1 つのファイルにまとめます。

于 2014-05-06T09:37:34.457 に答える
1

.cppヘッダー ファイルの宣言の横に定義を配置します.h。または、明示的なインスタンス化が必要です。

于 2014-05-06T09:39:06.677 に答える