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 Class Header”和“File Handler Class Implementation”组合在一个文件中。

于 2014-05-06T09:37:34.457 回答
1

将定义.cpp放在头文件中的声明旁边.h。或者您需要显式实例化。

于 2014-05-06T09:39:06.677 回答