У меня проблемы с классом, который я пишу. Я разделил класс на файл .h, который определяет класс, и файл .cpp, который реализует класс.
Я получаю эту ошибку в Visual Studio 2010 Express:
ошибка C2039: «строка»: не является членом «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 ++.