C++ 语法错误:标识符';字符串';错误C2061

C++ 语法错误:标识符';字符串';错误C2061,c++,visual-studio-2012,syntax-error,C++,Visual Studio 2012,Syntax Error,我很难理解为什么在编译时会出错。 我也需要发布我的主要内容吗 #ifndef SEARCHABLEADT_H #define SEARCHABLEADT_H #include <string> template <typename T> class SearchableADT { public: virtual int loadFromFile(string filename) = 0; //virtual void clear(void) = 0;

我很难理解为什么在编译时会出错。 我也需要发布我的主要内容吗

#ifndef SEARCHABLEADT_H
#define SEARCHABLEADT_H

#include <string>

template <typename T>
class SearchableADT
{
public:
    virtual int loadFromFile(string filename) = 0;
    //virtual void clear(void) = 0;
    virtual void insertEntry(T value) = 0;
    virtual void deleteEntry(T value) = 0;
    virtual bool isThere(T value) = 0;
    virtual int numEntries(void) = 0;
};
#endif
\ifndef searchable adt\H
#定义可搜索ADT_H
#包括
模板
类可搜索ADT
{
公众:
虚拟int loadFromFile(字符串文件名)=0;
//虚空清除(虚空)=0;
虚空插入(T值)=0;
虚空删除项(T值)=0;
虚拟布尔值(T值)=0;
虚拟整数(void)=0;
};
#恩迪夫
错误是:
c:\users****\documents\visual studio 2012\projects\headersearchableadt\headersearchableadt\searchableadt.h(10):错误C2061:语法错误:标识符“string”

尝试:
virtual int loadFromFile(std::string filename)=0

注意
std::

您还可以使用下一个声明:

#include <string>
using namespace std;
#包括
使用名称空间std;

尽管有人可能会说这是一个不好的编码习惯。

您应该使用std::string或其他方法导入字符串。