Cảnh báo khi dùng Typedef

Mọi người cho em hỏi khi em khai báo một cấu trúc với typedef trước struct thì máy cảnh báo "typedef was ignored in this declaration " nghĩa là gì ạ? Nó có nghiêm trọng không ạ ?

Bạn đưa code lên đi để mọi người xem lỗi chỗ nào

#include<iostream>
using namespace std;
typedef struct item{
	int data1;
	int data2;
};
int main(){
	return 0;
}

Chẳng hạn như thế này thì nó có cảnh báo như trên ạ.

Bạn thiếu mất cái tên thay thế rồi ._.
typedef data_type_name alias_name

3 Likes

bạn làm như thế này nha:

typedef struct {
      char* name;
      unsigned int age;
} Person ;

int main (void){
    Person me = {} ;

}

Bạn sửa lại như sau là được :grin:

#include<iostream>
using namespace std;
typedef struct item //có thể bỏ từ khoá item luôn cũng được
{ 
	int data1;
	int data2;
}alias_item; //alias_item là 1 kiểu dữ liệu giống như int, float, char,...
int main(){
        alias_item item1;                //đúng
        //struct alias_item item1;         sai
        //item item1;                      sai 
        //struct item item1;               đúng 
	return 0;
}
1 Like

Nếu bạn dùng mỗi item thôi thì bỏ typedef đi ! còn dùng typedef là đổi tên kiểu dữ liệu . VD : typedef int songuyen thì khi bạn khai báo số nào kiểu int thì viết : songuyen a ,nó tương tự int a

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