Sử dụng hàm str.pop_back() trong thư viện string.h bị lỗi

Em đã #include <string.h> rồi ạ
Lỗi : [Error] ‘std::string’ has no member named ‘pop_back’
Nhưng sd Hàm push_back thì không bị báo lỗi ạ

void Nhap_Chuoi(int x , int y ,int max , int width , string &data , bool id){
	int a=data.length() & width ; //Phan du
	int b=data.length() / width ;//phan nguyen
	char kytu ;
	string str = data ;
	Xuat_Chuoi(str,width , x , y) ;
	while(1){
		kytu=getch() ;
		if(kytu==0) kytu=getch() ;
		switch(kytu){
			case ENTER :
			{
				data = str ;
				return ;
			}
			case BACKSPACE :
			{
				if(str.size()!=0){
					if(a==0){
						b--;
						a=width ;
					}
					str.pop_back() ;
					a-- ;
					gotoxy(x+a,y+b) ;
					cout<<" ";
					gotoxy(x+a,y+b) ;
				}
				break;
			}
			default:{
				if(str.length()!=max){
					if(id && kytu >= 'a' && kytu <= 'z')
						kytu-=32 ;
					str.push_back(kytu);
					gotoxy(x + a++,y+b) ;
					cout<<kytu ;
					if(a==width){
						a=0;
						b++ ;
					}
				}
				break;
			}
		}
	}
}

TL;DR: Hãy chọn/set cho compiler support C++11

Câu trả lời chi tiết thì ở đây nha bạn.

Còn trị tận gốc thì mình khuyên là bạn nên đổi IDE/compiler đi, 2020 rồi mà IDE còn chưa support C++11 mặc định thì vứt được rồi.

3 Likes

cần C++11 và <string.h> là thư viện C string, C++ string là <string> ko có .h nha :V

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?