【发布时间】:2011-03-08 12:01:55
【问题描述】:
我正在写的课程有问题。我已将该类拆分为一个定义该类的 .h 文件和一个实现该类的 .cpp 文件。
我在 Visual Studio 2010 Express 中收到此错误:
error C2039: 'string' : is not a member of 'std'
这是头文件 FMAT.h
class string;
class FMAT {
public:
FMAT();
~FMAT();
int session();
private:
int manualSession();
int autoSession();
int mode;
std::string instructionFile;
};
这是实现文件FMAT.cpp
#include <iostream>
#include <string>
#include "FMAT.h"
FMAT::FMAT(){
std::cout << "manually (1) or instruction file (2)\n\n";
std::cin >> mode;
if(mode == 2){
std::cout << "Enter full path name of instruction file\n\n";
std::cin >> instructionFile;
}
}
int FMAT::session(){
if(mode==1){
manualSession();
}else if(mode == 2){
autoSession();
}
return 1;
}
int FMAT::manualSession(){
//more code
return 0;
}
这是使用这个类的主文件
#include "FMAT.h"
int main(void)
{
FMAT fmat; //create instance of FMAT class
fmat.session(); //this will branch to auto session or manual session
}
我无法修复此错误可能是因为我不了解如何将一个类正确地构建到单独的文件中。随意提供一些关于如何在 c++ 程序中处理多个文件的提示。
【问题讨论】:
-
可能您的意思是“声明一个类”而不是“定义”。
标签: c++ class visual-studio-2010 header-files