선언되지 않은 변수 오류가 변수 결과를 선언하려고, 나는 뭔가에 대한 매우 일반적인 오류가 선언되지 않은되고있어 :C : 난 그냥 약간의 프로그래밍 프로젝트를 진행했다
MP_HighLevelData.c:230:15: error: ‘RemovedUser’ undeclared (first use in this function)
사고가 난 그냥 잊고 있었던 변수를 선언하고, 내 소스 파일의 라인을 따라 갔고, 오류 코드 줄을 가리키는 것을 발견은 '아무튼 때문에
User *RemovedUser;
홀수, 나는 새 변수를 선언 할 수 없습니다 존재하지 않습니까? 명확하게이 코드 라인이 잘못되었다고 확신하지는 않으므로보다 완전한 코드 스 니펫을 작성하십시오. 나는 내가 뭘 잘못했는지 알고 싶다. '형'나 '형의 변수'의 결정에 직면했을 때
void RemoveUserFromGameRoom(User *User) {
if (User->GameRoom != NULL) {
GameRoom *GameRoom = User->GameRoom;
if (GameRoom->Owner == User) {
// We should delete the whole game room, since the owner is leaving and a new owner isn't chosen automatically
while (GameRoom->UsersHead != NULL) { // Awesome way of looping while there are users left in the room
// We need to get rid of all the users in this game room, including the owner, before we can remove it
User *RemovedUser;
RemovedUser = GameRoom->UsersHead->User;
DeleteUserPtrFromGameRoom(GameRoom->UsersHead); // Remove reference to the user from the game room
RemovedUser->GameRoom = NULL; // Remove reference to the game room from the user (needs to be set afterwards, whoops)
}
// All the users have been kicked out, now we can take care of the game room
FreeRIDfromGameCategory(GameRoom->RID, User->GameCategory);
ClearGameRoomName(GameRoom);
DeleteGameRoomFromGameCategory(GameRoom, User->GameCategory);
} else {
UserPtr *UserPtr = GameRoom->UsersHead;
while (UserPtr != NULL) {
if (UserPtr->User == User) {
DeleteUserPtrFromGameRoom(UserPtr);
User->GameRoom = NULL;
break;
}
UserPtr = UserPtr->next;
}
}
}
}
(사용자 * 사용자) - 당신은 컴파일러가 사용자 유형 및 사용자 매개 변수를 구별 할 수 있는지입니까? –
@AlexFarber 흠. 그것을 놓쳤다. 오류는'사용자가 타입이 아님 '이어야합니다. – Arpit