GCC编译错误:应为说明符限定符列表
使用gcc编译此代码时GCC编译错误:应为说明符限定符列表,c,gcc,C,Gcc,使用gcc编译此代码时 #include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <unistd.h> typedef struct _Nodo { unsigned int id_thread; int id_mutex; _Nodo *solicita; _Nodo *asignado; }Nodo; 为什么?试试:stru
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
typedef struct _Nodo
{
unsigned int id_thread;
int id_mutex;
_Nodo *solicita;
_Nodo *asignado;
}Nodo;
为什么?试试:
struct\u Nodo*requesta
正如Andrea已经说过的,对于requesta
和asignado
,都需要struct\u Nodo*
,即:
typedef struct _Nodo
{
unsigned int id_thread;
int id_mutex;
struct _Nodo *solicita; // <<<
struct _Nodo *asignado; // <<<
} Nodo;
typedef结构\u Nodo
{
无符号int-id_线程;
int-id_互斥体;
struct _Nodo*requesta;//既然你在做一个typedef
,无论如何,你要做什么
typedef struct Nodo Nodo;
struct Nodo {
unsigned int id_thread;
int id_mutex;
Nodo *solicita;
Nodo *asignado;
};
一次前进,你的代码<结构> /COD>和代码> TyPulf< /Cord>。它们的名称不必不同。那么,你可能已经在代码< >结构> <代码>的声明中使用了<代码> TyPulfF。注意,这不是C++中的问题,但是只有在C++中的C.才能移除(imHO)。可怕的typedef和对_Nodo的需要,只需编写struct Nodo{…};
typedef struct Nodo Nodo;
struct Nodo {
unsigned int id_thread;
int id_mutex;
Nodo *solicita;
Nodo *asignado;
};