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 ạ ?
Cảnh báo khi dùng Typedef
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
#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