簡體   English   中英

編譯時出現意外錯誤

[英]Unexpected error when compiling

我在Unix上做一個模擬F1比賽的C程序。 我的一個結構中存在一個問題,我無法識別問題。

我的第一個結構:

typedef struct { 
int NumVoiture; /* numéro de la voiture : 1..24 Ne pas oublier d'ajouter 1 si number >= 13 lors de l'affichage */ 
int Status; /* le statut de la voiture, ARRETCOURT, Abandon, etc... */ 
int TourActuel; /* le numéro du tour actuel de la voiture */ 
int SecteurActuel; /* le numéro du secteur actuel de la voiture (0..2) */ 
TempsDuTour TempsDuTour; /* le temps du tour courant */ 
TempsDuTour MeilleurTour; /* le meilleur de temps de la séance pour cette voiture */ 
TempsDuTour MeilleursSecteurs; /* chaque meilleur secteur de la séance pour cette voiture */ 
struct timeval HeureFinSecteur[NBSECTEURS]; /* heure de passage à la fin de chaque secteur */ 
struct timeval HeureDebutSecteur; /* heure (précision à la microsec) au début d'un secteur, voir timeval sur le net */ 
} Voiture;

我的第二個結構:

typedef struct 
{ 
int NumVoiture; 
int TypeDeSeance; 
DonneesPartagees * Voiture; 
DonneesPartagees * Session; 
DonneesPartagees * CompressionTemporelle; /* compression temporelle */ 
Voiture ** Rang; /* tableau de pointeurs */ 
} Containeur; 

我嘗試使用該功能時出現問題:

void initContaineur(Containeur * x, int NumVoiture, int TypeDeSeance, DonneesPartagees * Voiture, DonneesPartagees * Session, DonneesPartagees * CompressionTemporelle, Voiture ** Rang) 
{ 
x->NumVoiture = NumVoiture; 
x->TypeDeSeance = TypeDeSeance; 
x->Voiture = Voiture; 
x->Session = Session; 
x->CompressionTemporelle = CompressionTemporelle; 
x->Rang = Rang; 
} 

錯誤說

expected declaration specifiers or '...' before 'Voiture'

當我打電話給“Voiture * Rang [NBVOITURES];”時有第二個錯誤。 在主()

'Rang' undeclared (first use in this function)

提前致謝 !

你的第一個typedef使Voiture成為一個類型的名稱,但是在initContainer你試圖使用Voiture作為參數的名稱。 顯然,這會導致問題,您需要重命名其中一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM