Tôi đang gặp sự cố với lớp tôi đang viết. Tôi đã chia lớp thành tệp .h để định nghĩa lớp và tệp .cpp triển khai lớp.lỗi C2039: 'chuỗi': không phải là thành viên của 'std', vấn đề về tệp tiêu đề
tôi nhận được lỗi này trong Visual Studio 2010 Express: C2039
lỗi: 'chuỗi': không phải là thành viên của 'std'
Đây là tiêu đề FMAT.h
class string;
class FMAT {
public:
FMAT();
~FMAT();
int session();
private:
int manualSession();
int autoSession();
int mode;
std::string instructionFile;
};
Đây là tệp triển khai 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;
}
đây là tệp chính sử dụng lớp này
#include "FMAT.h"
int main(void)
{
FMAT fmat; //create instance of FMAT class
fmat.session(); //this will branch to auto session or manual session
}
Không có khả năng khắc phục lỗi này có thể là kết quả của việc tôi không hiểu cách cấu trúc lớp thành các tệp riêng biệt. Vui lòng cung cấp một số mẹo về cách xử lý nhiều tệp trong chương trình C++.
Có thể bạn có nghĩa là "khai báo một lớp" thay vì "xác định". –